From 717eb19aeb012ee7141b962a4d8e10d838324320 Mon Sep 17 00:00:00 2001 From: = <=> Date: Thu, 27 Jun 2024 07:36:36 +0200 Subject: [PATCH 01/23] wip: chore: restructure query schema type (keeping format) --- src/seqvars/query/interpreter/clinvar.rs | 16 +-- src/seqvars/query/interpreter/frequency.rs | 83 +++++++----- src/seqvars/query/schema.rs | 141 ++++++++++++--------- 3 files changed, 138 insertions(+), 102 deletions(-) diff --git a/src/seqvars/query/interpreter/clinvar.rs b/src/seqvars/query/interpreter/clinvar.rs index 3971dac4..587de6b8 100644 --- a/src/seqvars/query/interpreter/clinvar.rs +++ b/src/seqvars/query/interpreter/clinvar.rs @@ -41,19 +41,19 @@ pub fn passes( .unwrap_or_default(); let result = match description.to_lowercase().as_str() { - "benign" => query.clinvar_include_benign, + "benign" => query.clinvar.include_benign, "benign/likely benign" => { - query.clinvar_include_benign || query.clinvar_include_likely_benign + query.clinvar.include_benign || query.clinvar.include_likely_benign } - "likely benign" => query.clinvar_include_likely_benign, - "pathogenic" => query.clinvar_include_pathogenic, + "likely benign" => query.clinvar.include_likely_benign, + "pathogenic" => query.clinvar.include_pathogenic, "pathogenic/likely pathogenic" => { - query.clinvar_include_pathogenic || query.clinvar_include_likely_pathogenic + query.clinvar.include_pathogenic || query.clinvar.include_likely_pathogenic } - "likely pathogenic" => query.clinvar_include_likely_pathogenic, - "uncertain significance" => query.clinvar_include_uncertain_significance, + "likely pathogenic" => query.clinvar.include_likely_pathogenic, + "uncertain significance" => query.clinvar.include_uncertain_significance, "conflicting classifications of pathogenicity" => { - query.clinvar_include_uncertain_significance + query.clinvar.include_uncertain_significance } _ => { // We could also downtone this to debug. diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index 09b0936c..da762480 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -17,39 +17,39 @@ pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result q.gnomad_exomes_frequency.expect("tested before") - || q.gnomad_exomes_heterozygous.is_some() - && s.gnomad_exomes_het > q.gnomad_exomes_heterozygous.expect("tested before") - || q.gnomad_exomes_homozygous.is_some() - && s.gnomad_exomes_hom > q.gnomad_exomes_homozygous.expect("tested before") - || q.gnomad_exomes_hemizygous.is_some() - && s.gnomad_exomes_hemi > q.gnomad_exomes_hemizygous.expect("tested before")) + } else if q.gnomad.exomes_enabled + && (q.gnomad.exomes_frequency.is_some() + && s.gnomad_exomes_af() > q.gnomad.exomes_frequency.expect("tested before") + || q.gnomad.exomes_heterozygous.is_some() + && s.gnomad_exomes_het > q.gnomad.exomes_heterozygous.expect("tested before") + || q.gnomad.exomes_homozygous.is_some() + && s.gnomad_exomes_hom > q.gnomad.exomes_homozygous.expect("tested before") + || q.gnomad.exomes_hemizygous.is_some() + && s.gnomad_exomes_hemi > q.gnomad.exomes_hemizygous.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD exomes frequency filter {:?}", s, - &q.gnomad_exomes_frequency + &q.gnomad.exomes_frequency ); return Ok(false); } - if q.gnomad_genomes_enabled - && (q.gnomad_genomes_frequency.is_some() - && s.gnomad_genomes_af() > q.gnomad_genomes_frequency.expect("tested before") - || q.gnomad_genomes_heterozygous.is_some() - && s.gnomad_genomes_het > q.gnomad_genomes_heterozygous.expect("tested before") - || q.gnomad_genomes_homozygous.is_some() - && s.gnomad_genomes_hom > q.gnomad_genomes_homozygous.expect("tested before") + if q.gnomad.genomes_enabled + && (q.gnomad.genomes_frequency.is_some() + && s.gnomad_genomes_af() > q.gnomad.genomes_frequency.expect("tested before") + || q.gnomad.genomes_heterozygous.is_some() + && s.gnomad_genomes_het > q.gnomad.genomes_heterozygous.expect("tested before") + || q.gnomad.genomes_homozygous.is_some() + && s.gnomad_genomes_hom > q.gnomad.genomes_homozygous.expect("tested before") || !is_mtdna - && q.gnomad_genomes_hemizygous.is_some() - && s.gnomad_genomes_hemi > q.gnomad_genomes_hemizygous.expect("tested before")) + && q.gnomad.genomes_hemizygous.is_some() + && s.gnomad_genomes_hemi > q.gnomad.genomes_hemizygous.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD genomes frequency filter {:?}", s, - &q.gnomad_genomes_frequency + &q.gnomad.genomes_frequency ); return Ok(false); } @@ -130,12 +130,17 @@ mod test { #[case] query_gnomad_exomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { + use crate::seqvars::query::schema::GnomadOptions; + let query = CaseQuery { - gnomad_exomes_enabled: query_gnomad_exomes_enabled, - gnomad_exomes_frequency: query_gnomad_exomes_frequency, - gnomad_exomes_heterozygous: query_gnomad_exomes_heterozygous, - gnomad_exomes_homozygous: query_gnomad_exomes_homozygous, - gnomad_exomes_hemizygous: query_gnomad_exomes_hemizygous, + gnomad: GnomadOptions { + exomes_enabled: query_gnomad_exomes_enabled, + exomes_frequency: query_gnomad_exomes_frequency, + exomes_heterozygous: query_gnomad_exomes_heterozygous, + exomes_homozygous: query_gnomad_exomes_homozygous, + exomes_hemizygous: query_gnomad_exomes_hemizygous, + ..Default::default() + }, ..Default::default() }; let seq_var = SequenceVariant { @@ -241,12 +246,17 @@ mod test { #[case] query_gnomad_genomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { + use crate::seqvars::query::schema::GnomadOptions; + let query = CaseQuery { - gnomad_genomes_enabled: query_gnomad_genomes_enabled, - gnomad_genomes_frequency: query_gnomad_genomes_frequency, - gnomad_genomes_heterozygous: query_gnomad_genomes_heterozygous, - gnomad_genomes_homozygous: query_gnomad_genomes_homozygous, - gnomad_genomes_hemizygous: query_gnomad_genomes_hemizygous, + gnomad: GnomadOptions { + genomes_enabled: query_gnomad_genomes_enabled, + genomes_frequency: query_gnomad_genomes_frequency, + genomes_heterozygous: query_gnomad_genomes_heterozygous, + genomes_homozygous: query_gnomad_genomes_homozygous, + genomes_hemizygous: query_gnomad_genomes_hemizygous, + ..Default::default() + }, ..Default::default() }; let seq_var = SequenceVariant { @@ -424,11 +434,16 @@ mod test { #[case] query_gnomad_genomes_homoplasmic: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { + use crate::seqvars::query::schema::GnomadOptions; + let query = CaseQuery { - gnomad_genomes_enabled: query_gnomad_genomes_enabled, - gnomad_genomes_frequency: query_gnomad_genomes_frequency, - gnomad_genomes_heterozygous: query_gnomad_genomes_heteroplasmic, - gnomad_genomes_homozygous: query_gnomad_genomes_homoplasmic, + gnomad: GnomadOptions { + genomes_enabled: query_gnomad_genomes_enabled, + genomes_frequency: query_gnomad_genomes_frequency, + genomes_heterozygous: query_gnomad_genomes_heteroplasmic, + genomes_homozygous: query_gnomad_genomes_homoplasmic, + ..Default::default() + }, ..Default::default() }; let seq_var = SequenceVariant { diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 12b932c3..36c1ccc0 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -150,6 +150,52 @@ pub struct GenomicRegion { pub range: Option, } +serde_with::with_prefix!(prefix_clinvar "clinvar_"); +#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] +#[serde(default)] +pub struct ClinVarOptions { + /// Whether to include benign ClinVar variants. + pub include_benign: bool, + /// Whether to include pathogenic ClinVar variants. + pub include_pathogenic: bool, + /// Whether to include likely benign ClinVar variants. + pub include_likely_benign: bool, + /// Whether to include likely pathogenic ClinVar variants. + pub include_likely_pathogenic: bool, + /// Whether to include uncertain significance ClinVar variants. + pub include_uncertain_significance: bool, + /// Whether to include conflicting interpretation ClinVar variants. + pub include_conflicting_classifications: bool, +} + +serde_with::with_prefix!(prefix_gnomad "gnomad_"); +#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] +#[serde(default)] +pub struct GnomadOptions { + /// Whether to enable filtration by gnomAD exomes. + pub exomes_enabled: bool, + /// Whether to enable filtration by gnomAD genomes + pub genomes_enabled: bool, + + /// Maximal frequency in gnomAD exomes. + pub exomes_frequency: Option, + /// Maximal number of heterozygous carriers in gnomAD exomes. + pub exomes_heterozygous: Option, + /// Maximal number of homozygous carriers in gnomAD exomes. + pub exomes_homozygous: Option, + /// Maximal number of hemizygous carriers in gnomAD exomes. + pub exomes_hemizygous: Option, + + /// Maximal frequency in gnomAD genomes. + pub genomes_frequency: Option, + /// Maximal number of heterozygous carriers in gnomAD genomes. + pub genomes_heterozygous: Option, + /// Maximal number of homozygous carriers in gnomAD genomes. + pub genomes_homozygous: Option, + /// Maximal number of hemizygous carriers in gnomAD genomes. + pub genomes_hemizygous: Option, +} + /// Data structure with a single query. #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] #[serde(default)] @@ -185,46 +231,18 @@ pub struct CaseQuery { /// Wether to require ClinVar membership. pub require_in_clinvar: bool, - /// Whether to include benign ClinVar variants. - pub clinvar_include_benign: bool, - /// Whether to include pathogenic ClinVar variants. - pub clinvar_include_pathogenic: bool, - /// Whether to include likely benign ClinVar variants. - pub clinvar_include_likely_benign: bool, - /// Whether to include likely pathogenic ClinVar variants. - pub clinvar_include_likely_pathogenic: bool, - /// Whether to include uncertain significance ClinVar variants. - pub clinvar_include_uncertain_significance: bool, - /// Whether to include conflicting interpretation ClinVar variants. - pub clinvar_include_conflicting_classifications: bool, - /// Whether to enable filtration by gnomAD exomes. - pub gnomad_exomes_enabled: bool, - /// Whether to enable filtration by gnomAD genomes - pub gnomad_genomes_enabled: bool, + #[serde(flatten, with = "prefix_clinvar")] + pub clinvar: ClinVarOptions, + + #[serde(flatten, with = "prefix_gnomad")] + pub gnomad: GnomadOptions, + /// Whether to enable filtration by 1000 Genomes. pub inhouse_enabled: bool, /// Whether to enable filtration by mtDB. pub helixmtdb_enabled: bool, - /// Maximal frequency in gnomAD exomes. - pub gnomad_exomes_frequency: Option, - /// Maximal number of heterozygous carriers in gnomAD exomes. - pub gnomad_exomes_heterozygous: Option, - /// Maximal number of homozygous carriers in gnomAD exomes. - pub gnomad_exomes_homozygous: Option, - /// Maximal number of hemizygous carriers in gnomAD exomes. - pub gnomad_exomes_hemizygous: Option, - - /// Maximal frequency in gnomAD genomes. - pub gnomad_genomes_frequency: Option, - /// Maximal number of heterozygous carriers in gnomAD genomes. - pub gnomad_genomes_heterozygous: Option, - /// Maximal number of homozygous carriers in gnomAD genomes. - pub gnomad_genomes_homozygous: Option, - /// Maximal number of hemizygous carriers in gnomAD genomes. - pub gnomad_genomes_hemizygous: Option, - /// Maximal number of in-house carriers. pub inhouse_carriers: Option, /// Maximal number of in-house heterozygous carriers. @@ -242,13 +260,24 @@ pub struct CaseQuery { pub helixmtdb_homoplasmic: Option, } +impl Default for ClinVarOptions { + fn default() -> Self { + Self { + include_benign: true, + include_pathogenic: true, + include_likely_benign: true, + include_likely_pathogenic: true, + include_uncertain_significance: true, + include_conflicting_classifications: true, + } + } +} + impl Default for CaseQuery { /// Returns default values for a `CaseQuery` which makes all variants pass. fn default() -> Self { Self { consequences: mehari::annotate::seqvars::ann::Consequence::all(), - gnomad_exomes_enabled: Default::default(), - gnomad_genomes_enabled: Default::default(), inhouse_enabled: Default::default(), helixmtdb_enabled: Default::default(), quality: Default::default(), @@ -262,20 +291,8 @@ impl Default for CaseQuery { gene_allowlist: Default::default(), genomic_regions: Default::default(), require_in_clinvar: Default::default(), - clinvar_include_benign: true, - clinvar_include_pathogenic: true, - clinvar_include_likely_benign: true, - clinvar_include_likely_pathogenic: true, - clinvar_include_uncertain_significance: true, - clinvar_include_conflicting_classifications: true, - gnomad_exomes_frequency: Default::default(), - gnomad_exomes_heterozygous: Default::default(), - gnomad_exomes_homozygous: Default::default(), - gnomad_exomes_hemizygous: Default::default(), - gnomad_genomes_frequency: Default::default(), - gnomad_genomes_heterozygous: Default::default(), - gnomad_genomes_homozygous: Default::default(), - gnomad_genomes_hemizygous: Default::default(), + clinvar: Default::default(), + gnomad: Default::default(), inhouse_carriers: Default::default(), inhouse_heterozygous: Default::default(), inhouse_homozygous: Default::default(), @@ -293,23 +310,27 @@ impl CaseQuery { self.genotype.values().any(|gt_choice| { matches!( gt_choice, - Some(GenotypeChoice::ComphetIndex) - | Some(GenotypeChoice::RecessiveIndex) - | Some(GenotypeChoice::RecessiveParent) + Some( + GenotypeChoice::ComphetIndex + | GenotypeChoice::RecessiveIndex + | GenotypeChoice::RecessiveParent + ) ) }) } /// Returns name of the recessive index sample. pub fn index_sample(&self) -> Option { - self.genotype - .iter() - .find_map(|(name, gt_choice)| match gt_choice { - Some(GenotypeChoice::ComphetIndex) | Some(GenotypeChoice::RecessiveIndex) => { - Some(name.clone()) + for (name, gt_choice) in &self.genotype { + match gt_choice { + Some(GenotypeChoice::ComphetIndex | GenotypeChoice::RecessiveIndex) => { + return Some(name.clone()) } - _ => None, - }) + _ => continue, + } + } + + None } } /// Information on the call as written out by ingest. From ded525ba34e65958d2643378e64a5fcdfedecee8 Mon Sep 17 00:00:00 2001 From: = <=> Date: Thu, 27 Jun 2024 08:21:24 +0200 Subject: [PATCH 02/23] chore: wip: more restructuring --- src/seqvars/query/interpreter/frequency.rs | 26 ++++--- src/seqvars/query/schema.rs | 77 +++++++++++-------- ...ema__test__smoke_test_load@empty.json.snap | 4 +- ...hema__test__smoke_test_load@full.json.snap | 4 +- ...test__smoke_test_load@with_extra.json.snap | 4 +- 5 files changed, 66 insertions(+), 49 deletions(-) diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index da762480..eb6e81ce 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -6,13 +6,13 @@ pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result q.helixmtdb_frequency.expect("tested before") - || q.helixmtdb_heteroplasmic.is_some() - && s.helix_het > q.helixmtdb_heteroplasmic.expect("tested before") - || q.helixmtdb_homoplasmic.is_some() - && s.helix_hom > q.helixmtdb_homoplasmic.expect("tested before")) + if q.helixmtdb.enabled + && (q.helixmtdb.frequency.is_some() + && s.helixmtdb_af() > q.helixmtdb.frequency.expect("tested before") + || q.helixmtdb.heteroplasmic.is_some() + && s.helix_het > q.helixmtdb.heteroplasmic.expect("tested before") + || q.helixmtdb.homoplasmic.is_some() + && s.helix_hom > q.helixmtdb.homoplasmic.expect("tested before")) { tracing::trace!("variant {:?} fails HelixMtDb frequency filter {:?}", s, &q); return Ok(false); @@ -343,11 +343,15 @@ mod test { #[case] query_helix_homoplasmic: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { + use crate::seqvars::query::schema::HelixMtDbOptions; + let query = CaseQuery { - helixmtdb_enabled: query_helix_enabled, - helixmtdb_frequency: query_helix_frequency, - helixmtdb_heteroplasmic: query_helix_heteroplasmic, - helixmtdb_homoplasmic: query_helix_homoplasmic, + helixmtdb: HelixMtDbOptions { + enabled: query_helix_enabled, + frequency: query_helix_frequency, + heteroplasmic: query_helix_heteroplasmic, + homoplasmic: query_helix_homoplasmic, + }, ..Default::default() }; let seq_var = SequenceVariant { diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 36c1ccc0..d7034f74 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -196,6 +196,40 @@ pub struct GnomadOptions { pub genomes_hemizygous: Option, } +serde_with::with_prefix!(prefix_inhouse "inhouse_"); +#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] +#[serde(default)] +/// TODO: currently unused? +pub struct InhouseOptions { + /// Whether to enable filtration by 1000 Genomes. + pub enabled: bool, + /// Maximal number of in-house carriers. + pub carriers: Option, + /// Maximal number of in-house heterozygous carriers. + pub heterozygous: Option, + /// Maximal number of in-house homozygous carriers. + pub homozygous: Option, + /// Maximal number of in-house hemizygous carriers. + pub hemizygous: Option, +} + +serde_with::with_prefix!(prefix_helixmtdb "helixmtdb_"); +#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] +#[serde(default)] +/// TODO: currently unused? +pub struct HelixMtDbOptions { + /// Whether to enable filtration by mtDB. + pub enabled: bool, + /// Maximal frequency in HelixMtDb + pub frequency: Option, + /// Maximal number of heterozygous carriers in HelixMtDb. + pub heteroplasmic: Option, + /// Maximal number of homozygous carriers in HelixMtDb. + pub homoplasmic: Option, +} + + + /// Data structure with a single query. #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] #[serde(default)] @@ -229,35 +263,21 @@ pub struct CaseQuery { /// List of genomic regions to limit restrict the resulting variants to. pub genomic_regions: Option>, + /// TODO: wanted schema is defined in issue, emily reading comprehension 10/10 + /// Wether to require ClinVar membership. pub require_in_clinvar: bool, - + /// ClinVar related filter options. #[serde(flatten, with = "prefix_clinvar")] pub clinvar: ClinVarOptions, - + /// GnomAD related filter options. #[serde(flatten, with = "prefix_gnomad")] pub gnomad: GnomadOptions, - - /// Whether to enable filtration by 1000 Genomes. - pub inhouse_enabled: bool, - /// Whether to enable filtration by mtDB. - pub helixmtdb_enabled: bool, - - /// Maximal number of in-house carriers. - pub inhouse_carriers: Option, - /// Maximal number of in-house heterozygous carriers. - pub inhouse_heterozygous: Option, - /// Maximal number of in-house homozygous carriers. - pub inhouse_homozygous: Option, - /// Maximal number of in-house hemizygous carriers. - pub inhouse_hemizygous: Option, - - /// Maximal frequency in HelixMtDb - pub helixmtdb_frequency: Option, - /// Maximal number of heterozygous carriers in HelixMtDb. - pub helixmtdb_heteroplasmic: Option, - /// Maximal number of homozygous carriers in HelixMtDb. - pub helixmtdb_homoplasmic: Option, + /// Inhouse related filter options. TODO BETTER COMMENT + #[serde(flatten, with = "prefix_inhouse")] + pub inhouse: InhouseOptions, + #[serde(flatten, with = "prefix_helixmtdb")] + pub helixmtdb: HelixMtDbOptions, } impl Default for ClinVarOptions { @@ -278,8 +298,7 @@ impl Default for CaseQuery { fn default() -> Self { Self { consequences: mehari::annotate::seqvars::ann::Consequence::all(), - inhouse_enabled: Default::default(), - helixmtdb_enabled: Default::default(), + helixmtdb: Default::default(), quality: Default::default(), genotype: Default::default(), transcripts_coding: true, @@ -293,13 +312,7 @@ impl Default for CaseQuery { require_in_clinvar: Default::default(), clinvar: Default::default(), gnomad: Default::default(), - inhouse_carriers: Default::default(), - inhouse_heterozygous: Default::default(), - inhouse_homozygous: Default::default(), - inhouse_hemizygous: Default::default(), - helixmtdb_frequency: Default::default(), - helixmtdb_heteroplasmic: Default::default(), - helixmtdb_homoplasmic: Default::default(), + inhouse: Default::default(), } } } diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap index 12e9ccab..4e61283a 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap @@ -71,8 +71,6 @@ clinvar_include_uncertain_significance: true clinvar_include_conflicting_classifications: true gnomad_exomes_enabled: false gnomad_genomes_enabled: false -inhouse_enabled: false -helixmtdb_enabled: false gnomad_exomes_frequency: ~ gnomad_exomes_heterozygous: ~ gnomad_exomes_homozygous: ~ @@ -81,10 +79,12 @@ gnomad_genomes_frequency: ~ gnomad_genomes_heterozygous: ~ gnomad_genomes_homozygous: ~ gnomad_genomes_hemizygous: ~ +inhouse_enabled: false inhouse_carriers: ~ inhouse_heterozygous: ~ inhouse_homozygous: ~ inhouse_hemizygous: ~ +helixmtdb_enabled: false helixmtdb_frequency: ~ helixmtdb_heteroplasmic: ~ helixmtdb_homoplasmic: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap index 9e20bcc8..4c92ff1f 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap @@ -80,8 +80,6 @@ clinvar_include_uncertain_significance: false clinvar_include_conflicting_classifications: true gnomad_exomes_enabled: true gnomad_genomes_enabled: true -inhouse_enabled: true -helixmtdb_enabled: true gnomad_exomes_frequency: 0.002 gnomad_exomes_heterozygous: 20 gnomad_exomes_homozygous: 0 @@ -90,10 +88,12 @@ gnomad_genomes_frequency: 0.002 gnomad_genomes_heterozygous: 4 gnomad_genomes_homozygous: 0 gnomad_genomes_hemizygous: ~ +inhouse_enabled: true inhouse_carriers: 20 inhouse_heterozygous: ~ inhouse_homozygous: ~ inhouse_hemizygous: ~ +helixmtdb_enabled: true helixmtdb_frequency: 0.01 helixmtdb_heteroplasmic: ~ helixmtdb_homoplasmic: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap index 9e20bcc8..4c92ff1f 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap @@ -80,8 +80,6 @@ clinvar_include_uncertain_significance: false clinvar_include_conflicting_classifications: true gnomad_exomes_enabled: true gnomad_genomes_enabled: true -inhouse_enabled: true -helixmtdb_enabled: true gnomad_exomes_frequency: 0.002 gnomad_exomes_heterozygous: 20 gnomad_exomes_homozygous: 0 @@ -90,10 +88,12 @@ gnomad_genomes_frequency: 0.002 gnomad_genomes_heterozygous: 4 gnomad_genomes_homozygous: 0 gnomad_genomes_hemizygous: ~ +inhouse_enabled: true inhouse_carriers: 20 inhouse_heterozygous: ~ inhouse_homozygous: ~ inhouse_hemizygous: ~ +helixmtdb_enabled: true helixmtdb_frequency: 0.01 helixmtdb_heteroplasmic: ~ helixmtdb_homoplasmic: ~ From bb5bfbcc3a66a3e3a79018d0410fd410c4937075 Mon Sep 17 00:00:00 2001 From: = <=> Date: Sat, 29 Jun 2024 05:44:15 +0200 Subject: [PATCH 03/23] wip: chore: further restructuring to get closer to wanted structure --- src/seqvars/query/interpreter/frequency.rs | 126 ++++++++++-------- src/seqvars/query/schema.rs | 67 ++++++---- ...ema__test__smoke_test_load@empty.json.snap | 10 +- ...hema__test__smoke_test_load@full.json.snap | 10 +- ...test__smoke_test_load@with_extra.json.snap | 10 +- 5 files changed, 125 insertions(+), 98 deletions(-) diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index eb6e81ce..292917ef 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -2,54 +2,58 @@ use crate::seqvars::query::schema::{CaseQuery, SequenceVariant}; /// Determine whether the `SequenceVariant` passes the frequency filter. pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result { - let q = &query; + let pop = &query.population_freqeuecy; let is_mtdna = annonars::common::cli::canonicalize(&s.chrom) == "MT"; if is_mtdna { - if q.helixmtdb.enabled - && (q.helixmtdb.frequency.is_some() - && s.helixmtdb_af() > q.helixmtdb.frequency.expect("tested before") - || q.helixmtdb.heteroplasmic.is_some() - && s.helix_het > q.helixmtdb.heteroplasmic.expect("tested before") - || q.helixmtdb.homoplasmic.is_some() - && s.helix_hom > q.helixmtdb.homoplasmic.expect("tested before")) + if pop.helixmtdb.enabled + && (pop.helixmtdb.frequency.is_some() + && s.helixmtdb_af() > pop.helixmtdb.frequency.expect("tested before") + || pop.helixmtdb.heteroplasmic.is_some() + && s.helix_het > pop.helixmtdb.heteroplasmic.expect("tested before") + || pop.helixmtdb.homoplasmic.is_some() + && s.helix_hom > pop.helixmtdb.homoplasmic.expect("tested before")) { - tracing::trace!("variant {:?} fails HelixMtDb frequency filter {:?}", s, &q); + tracing::trace!( + "variant {:?} fails HelixMtDb frequency filter {:?}", + s, + &pop + ); return Ok(false); } - } else if q.gnomad.exomes_enabled - && (q.gnomad.exomes_frequency.is_some() - && s.gnomad_exomes_af() > q.gnomad.exomes_frequency.expect("tested before") - || q.gnomad.exomes_heterozygous.is_some() - && s.gnomad_exomes_het > q.gnomad.exomes_heterozygous.expect("tested before") - || q.gnomad.exomes_homozygous.is_some() - && s.gnomad_exomes_hom > q.gnomad.exomes_homozygous.expect("tested before") - || q.gnomad.exomes_hemizygous.is_some() - && s.gnomad_exomes_hemi > q.gnomad.exomes_hemizygous.expect("tested before")) + } else if pop.gnomad.exomes_enabled + && (pop.gnomad.exomes_frequency.is_some() + && s.gnomad_exomes_af() > pop.gnomad.exomes_frequency.expect("tested before") + || pop.gnomad.exomes_heterozygous.is_some() + && s.gnomad_exomes_het > pop.gnomad.exomes_heterozygous.expect("tested before") + || pop.gnomad.exomes_homozygous.is_some() + && s.gnomad_exomes_hom > pop.gnomad.exomes_homozygous.expect("tested before") + || pop.gnomad.exomes_hemizygous.is_some() + && s.gnomad_exomes_hemi > pop.gnomad.exomes_hemizygous.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD exomes frequency filter {:?}", s, - &q.gnomad.exomes_frequency + &pop.gnomad.exomes_frequency ); return Ok(false); } - if q.gnomad.genomes_enabled - && (q.gnomad.genomes_frequency.is_some() - && s.gnomad_genomes_af() > q.gnomad.genomes_frequency.expect("tested before") - || q.gnomad.genomes_heterozygous.is_some() - && s.gnomad_genomes_het > q.gnomad.genomes_heterozygous.expect("tested before") - || q.gnomad.genomes_homozygous.is_some() - && s.gnomad_genomes_hom > q.gnomad.genomes_homozygous.expect("tested before") + if pop.gnomad.genomes_enabled + && (pop.gnomad.genomes_frequency.is_some() + && s.gnomad_genomes_af() > pop.gnomad.genomes_frequency.expect("tested before") + || pop.gnomad.genomes_heterozygous.is_some() + && s.gnomad_genomes_het > pop.gnomad.genomes_heterozygous.expect("tested before") + || pop.gnomad.genomes_homozygous.is_some() + && s.gnomad_genomes_hom > pop.gnomad.genomes_homozygous.expect("tested before") || !is_mtdna - && q.gnomad.genomes_hemizygous.is_some() - && s.gnomad_genomes_hemi > q.gnomad.genomes_hemizygous.expect("tested before")) + && pop.gnomad.genomes_hemizygous.is_some() + && s.gnomad_genomes_hemi > pop.gnomad.genomes_hemizygous.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD genomes frequency filter {:?}", s, - &q.gnomad.genomes_frequency + &pop.gnomad.genomes_frequency ); return Ok(false); } @@ -130,15 +134,18 @@ mod test { #[case] query_gnomad_exomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::GnomadOptions; + use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; let query = CaseQuery { - gnomad: GnomadOptions { - exomes_enabled: query_gnomad_exomes_enabled, - exomes_frequency: query_gnomad_exomes_frequency, - exomes_heterozygous: query_gnomad_exomes_heterozygous, - exomes_homozygous: query_gnomad_exomes_homozygous, - exomes_hemizygous: query_gnomad_exomes_hemizygous, + population_freqeuecy: PopulationFrequencyOptions { + gnomad: GnomadOptions { + exomes_enabled: query_gnomad_exomes_enabled, + exomes_frequency: query_gnomad_exomes_frequency, + exomes_heterozygous: query_gnomad_exomes_heterozygous, + exomes_homozygous: query_gnomad_exomes_homozygous, + exomes_hemizygous: query_gnomad_exomes_hemizygous, + ..Default::default() + }, ..Default::default() }, ..Default::default() @@ -246,15 +253,18 @@ mod test { #[case] query_gnomad_genomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::GnomadOptions; + use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; let query = CaseQuery { - gnomad: GnomadOptions { - genomes_enabled: query_gnomad_genomes_enabled, - genomes_frequency: query_gnomad_genomes_frequency, - genomes_heterozygous: query_gnomad_genomes_heterozygous, - genomes_homozygous: query_gnomad_genomes_homozygous, - genomes_hemizygous: query_gnomad_genomes_hemizygous, + population_freqeuecy: PopulationFrequencyOptions { + gnomad: GnomadOptions { + genomes_enabled: query_gnomad_genomes_enabled, + genomes_frequency: query_gnomad_genomes_frequency, + genomes_heterozygous: query_gnomad_genomes_heterozygous, + genomes_homozygous: query_gnomad_genomes_homozygous, + genomes_hemizygous: query_gnomad_genomes_hemizygous, + ..Default::default() + }, ..Default::default() }, ..Default::default() @@ -343,14 +353,17 @@ mod test { #[case] query_helix_homoplasmic: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::HelixMtDbOptions; + use crate::seqvars::query::schema::{HelixMtDbOptions, PopulationFrequencyOptions}; let query = CaseQuery { - helixmtdb: HelixMtDbOptions { - enabled: query_helix_enabled, - frequency: query_helix_frequency, - heteroplasmic: query_helix_heteroplasmic, - homoplasmic: query_helix_homoplasmic, + population_freqeuecy: PopulationFrequencyOptions { + helixmtdb: HelixMtDbOptions { + enabled: query_helix_enabled, + frequency: query_helix_frequency, + heteroplasmic: query_helix_heteroplasmic, + homoplasmic: query_helix_homoplasmic, + }, + ..Default::default() }, ..Default::default() }; @@ -438,14 +451,17 @@ mod test { #[case] query_gnomad_genomes_homoplasmic: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::GnomadOptions; + use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; let query = CaseQuery { - gnomad: GnomadOptions { - genomes_enabled: query_gnomad_genomes_enabled, - genomes_frequency: query_gnomad_genomes_frequency, - genomes_heterozygous: query_gnomad_genomes_heteroplasmic, - genomes_homozygous: query_gnomad_genomes_homoplasmic, + population_freqeuecy: PopulationFrequencyOptions { + gnomad: GnomadOptions { + genomes_enabled: query_gnomad_genomes_enabled, + genomes_frequency: query_gnomad_genomes_frequency, + genomes_heterozygous: query_gnomad_genomes_heteroplasmic, + genomes_homozygous: query_gnomad_genomes_homoplasmic, + ..Default::default() + }, ..Default::default() }, ..Default::default() diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index d7034f74..298cbac4 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -168,6 +168,23 @@ pub struct ClinVarOptions { pub include_conflicting_classifications: bool, } +serde_with::with_prefix!(prefix_inhouse "inhouse_"); +#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] +#[serde(default)] +/// TODO: currently unused? +pub struct InhouseFrequencyOptions { + /// Whether to enable filtration by 1000 Genomes. + pub enabled: bool, + /// Maximal number of in-house carriers. + pub carriers: Option, + /// Maximal number of in-house heterozygous carriers. + pub heterozygous: Option, + /// Maximal number of in-house homozygous carriers. + pub homozygous: Option, + /// Maximal number of in-house hemizygous carriers. + pub hemizygous: Option, +} + serde_with::with_prefix!(prefix_gnomad "gnomad_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] @@ -196,23 +213,6 @@ pub struct GnomadOptions { pub genomes_hemizygous: Option, } -serde_with::with_prefix!(prefix_inhouse "inhouse_"); -#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] -#[serde(default)] -/// TODO: currently unused? -pub struct InhouseOptions { - /// Whether to enable filtration by 1000 Genomes. - pub enabled: bool, - /// Maximal number of in-house carriers. - pub carriers: Option, - /// Maximal number of in-house heterozygous carriers. - pub heterozygous: Option, - /// Maximal number of in-house homozygous carriers. - pub homozygous: Option, - /// Maximal number of in-house hemizygous carriers. - pub hemizygous: Option, -} - serde_with::with_prefix!(prefix_helixmtdb "helixmtdb_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] @@ -228,7 +228,14 @@ pub struct HelixMtDbOptions { pub homoplasmic: Option, } - +#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] +#[serde(default)] +pub struct PopulationFrequencyOptions { + #[serde(flatten, with = "prefix_gnomad")] + pub gnomad: GnomadOptions, + #[serde(flatten, with = "prefix_helixmtdb")] + pub helixmtdb: HelixMtDbOptions, +} /// Data structure with a single query. #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] @@ -242,10 +249,15 @@ pub struct CaseQuery { /// Genotype choice for each individual. pub genotype: indexmap::IndexMap>, + /// TODO v move to transcriptRealated /// Whether to include coding transcripts. pub transcripts_coding: bool, /// Whether to include non-coding transcripts. pub transcripts_noncoding: bool, + /// Maximal distance to next exon, if any. + pub max_exon_dist: Option, + + /// TODO v move to varianttyperelated /// Whether to include SNVs. pub var_type_snv: bool, @@ -254,8 +266,7 @@ pub struct CaseQuery { /// Whether to include MNVs. pub var_type_mnv: bool, - /// Maximal distance to next exon, if any. - pub max_exon_dist: Option, + /// TODO v Move to locusRelated /// List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict /// the resulting variants to. @@ -270,14 +281,15 @@ pub struct CaseQuery { /// ClinVar related filter options. #[serde(flatten, with = "prefix_clinvar")] pub clinvar: ClinVarOptions, - /// GnomAD related filter options. - #[serde(flatten, with = "prefix_gnomad")] - pub gnomad: GnomadOptions, + + /// PopulationFrequency related filter options + #[serde(flatten)] + pub population_freqeuecy: PopulationFrequencyOptions, + + /// Inhouse related filter options. TODO BETTER COMMENT #[serde(flatten, with = "prefix_inhouse")] - pub inhouse: InhouseOptions, - #[serde(flatten, with = "prefix_helixmtdb")] - pub helixmtdb: HelixMtDbOptions, + pub inhouse: InhouseFrequencyOptions, } impl Default for ClinVarOptions { @@ -298,7 +310,7 @@ impl Default for CaseQuery { fn default() -> Self { Self { consequences: mehari::annotate::seqvars::ann::Consequence::all(), - helixmtdb: Default::default(), + population_freqeuecy: Default::default(), quality: Default::default(), genotype: Default::default(), transcripts_coding: true, @@ -311,7 +323,6 @@ impl Default for CaseQuery { genomic_regions: Default::default(), require_in_clinvar: Default::default(), clinvar: Default::default(), - gnomad: Default::default(), inhouse: Default::default(), } } diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap index 4e61283a..8bf87bff 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap @@ -56,10 +56,10 @@ quality: {} genotype: {} transcripts_coding: true transcripts_noncoding: true +max_exon_dist: ~ var_type_snv: true var_type_indel: true var_type_mnv: true -max_exon_dist: ~ gene_allowlist: ~ genomic_regions: ~ require_in_clinvar: false @@ -79,12 +79,12 @@ gnomad_genomes_frequency: ~ gnomad_genomes_heterozygous: ~ gnomad_genomes_homozygous: ~ gnomad_genomes_hemizygous: ~ +helixmtdb_enabled: false +helixmtdb_frequency: ~ +helixmtdb_heteroplasmic: ~ +helixmtdb_homoplasmic: ~ inhouse_enabled: false inhouse_carriers: ~ inhouse_heterozygous: ~ inhouse_homozygous: ~ inhouse_hemizygous: ~ -helixmtdb_enabled: false -helixmtdb_frequency: ~ -helixmtdb_heteroplasmic: ~ -helixmtdb_homoplasmic: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap index 4c92ff1f..218169ac 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap @@ -65,10 +65,10 @@ genotype: sample: het transcripts_coding: true transcripts_noncoding: true +max_exon_dist: 100 var_type_snv: true var_type_indel: true var_type_mnv: true -max_exon_dist: 100 gene_allowlist: [] genomic_regions: ~ require_in_clinvar: false @@ -88,12 +88,12 @@ gnomad_genomes_frequency: 0.002 gnomad_genomes_heterozygous: 4 gnomad_genomes_homozygous: 0 gnomad_genomes_hemizygous: ~ +helixmtdb_enabled: true +helixmtdb_frequency: 0.01 +helixmtdb_heteroplasmic: ~ +helixmtdb_homoplasmic: ~ inhouse_enabled: true inhouse_carriers: 20 inhouse_heterozygous: ~ inhouse_homozygous: ~ inhouse_hemizygous: ~ -helixmtdb_enabled: true -helixmtdb_frequency: 0.01 -helixmtdb_heteroplasmic: ~ -helixmtdb_homoplasmic: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap index 4c92ff1f..218169ac 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap @@ -65,10 +65,10 @@ genotype: sample: het transcripts_coding: true transcripts_noncoding: true +max_exon_dist: 100 var_type_snv: true var_type_indel: true var_type_mnv: true -max_exon_dist: 100 gene_allowlist: [] genomic_regions: ~ require_in_clinvar: false @@ -88,12 +88,12 @@ gnomad_genomes_frequency: 0.002 gnomad_genomes_heterozygous: 4 gnomad_genomes_homozygous: 0 gnomad_genomes_hemizygous: ~ +helixmtdb_enabled: true +helixmtdb_frequency: 0.01 +helixmtdb_heteroplasmic: ~ +helixmtdb_homoplasmic: ~ inhouse_enabled: true inhouse_carriers: 20 inhouse_heterozygous: ~ inhouse_homozygous: ~ inhouse_hemizygous: ~ -helixmtdb_enabled: true -helixmtdb_frequency: 0.01 -helixmtdb_heteroplasmic: ~ -helixmtdb_homoplasmic: ~ From 9b6b6baf37088a8a6b05ac09361874ce29f3f0f0 Mon Sep 17 00:00:00 2001 From: = <=> Date: Sat, 29 Jun 2024 06:10:00 +0200 Subject: [PATCH 04/23] chore: more restructuring --- .../query/interpreter/regions_allowlist.rs | 2 +- src/seqvars/query/mod.rs | 2 +- src/seqvars/query/schema.rs | 64 ++++++++++++------- 3 files changed, 43 insertions(+), 25 deletions(-) diff --git a/src/seqvars/query/interpreter/regions_allowlist.rs b/src/seqvars/query/interpreter/regions_allowlist.rs index 0fcd4965..9fff9378 100644 --- a/src/seqvars/query/interpreter/regions_allowlist.rs +++ b/src/seqvars/query/interpreter/regions_allowlist.rs @@ -2,7 +2,7 @@ use crate::seqvars::query::schema::{CaseQuery, GenomicRegion, Range, SequenceVar /// Determine whether the `SequenceVariant` passes the regions allowlist filter. pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> bool { - if let Some(region_allowlist) = &query.genomic_regions { + if let Some(region_allowlist) = &query.locus.genomic_regions { if region_allowlist.is_empty() { true } else { diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index b4b6e2bf..774286d0 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -520,7 +520,7 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a trace_rss_now(); tracing::info!("Translating gene allow list..."); - let hgnc_allowlist = if let Some(gene_allowlist) = &query.gene_allowlist { + let hgnc_allowlist = if let Some(gene_allowlist) = &query.locus.gene_allowlist { if gene_allowlist.is_empty() { None } else { diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 298cbac4..32a9dedd 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -237,6 +237,38 @@ pub struct PopulationFrequencyOptions { pub helixmtdb: HelixMtDbOptions, } +serde_with::with_prefix!(prefix_var_type "var_type_"); +#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] +#[serde(default)] +pub struct VariantTypeOptions { + /// Whether to include SNVs. + pub snv: bool, + /// Whether to include indels. + pub indel: bool, + /// Whether to include MNVs. + pub mnv: bool, +} + +impl Default for VariantTypeOptions { + fn default() -> Self { + VariantTypeOptions { + snv: true, + indel: true, + mnv: true, + } + } +} + +#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] +#[serde(default)] +pub struct LocusRelatedOptions { + /// List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict + /// the resulting variants to. + pub gene_allowlist: Option>, + /// List of genomic regions to limit restrict the resulting variants to. + pub genomic_regions: Option>, +} + /// Data structure with a single query. #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] #[serde(default)] @@ -257,25 +289,15 @@ pub struct CaseQuery { /// Maximal distance to next exon, if any. pub max_exon_dist: Option, - /// TODO v move to varianttyperelated - - /// Whether to include SNVs. - pub var_type_snv: bool, - /// Whether to include indels. - pub var_type_indel: bool, - /// Whether to include MNVs. - pub var_type_mnv: bool, - - /// TODO v Move to locusRelated + /// TODO: comment + #[serde(flatten, with = "prefix_var_type")] + pub var_type: VariantTypeOptions, - /// List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict - /// the resulting variants to. - pub gene_allowlist: Option>, - /// List of genomic regions to limit restrict the resulting variants to. - pub genomic_regions: Option>, - - /// TODO: wanted schema is defined in issue, emily reading comprehension 10/10 + /// TODO comment + #[serde(flatten)] + pub locus: LocusRelatedOptions, + // TODO v moving this into ClinVarOptions without making things meh seems to be annoying /// Wether to require ClinVar membership. pub require_in_clinvar: bool, /// ClinVar related filter options. @@ -286,7 +308,6 @@ pub struct CaseQuery { #[serde(flatten)] pub population_freqeuecy: PopulationFrequencyOptions, - /// Inhouse related filter options. TODO BETTER COMMENT #[serde(flatten, with = "prefix_inhouse")] pub inhouse: InhouseFrequencyOptions, @@ -315,12 +336,9 @@ impl Default for CaseQuery { genotype: Default::default(), transcripts_coding: true, transcripts_noncoding: true, - var_type_snv: true, - var_type_indel: true, - var_type_mnv: true, + var_type: Default::default(), max_exon_dist: Default::default(), - gene_allowlist: Default::default(), - genomic_regions: Default::default(), + locus: Default::default(), require_in_clinvar: Default::default(), clinvar: Default::default(), inhouse: Default::default(), From 2f26227f53971c47b14399a3d21209e1268ba4c3 Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 1 Jul 2024 05:16:05 +0200 Subject: [PATCH 05/23] chore: casequery now has schema as defined in #374 --- src/seqvars/query/schema.rs | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 32a9dedd..160ac7a8 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -269,6 +269,27 @@ pub struct LocusRelatedOptions { pub genomic_regions: Option>, } +#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] +#[serde(default)] +pub struct TranscriptOptions { + /// Whether to include coding transcripts. + pub transcripts_coding: bool, + /// Whether to include non-coding transcripts. + pub transcripts_noncoding: bool, + /// Maximal distance to next exon, if any. + pub max_exon_dist: Option, +} + +impl Default for TranscriptOptions { + fn default() -> Self { + TranscriptOptions { + transcripts_coding: true, + transcripts_noncoding: true, + max_exon_dist: Default::default(), + } + } +} + /// Data structure with a single query. #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] #[serde(default)] @@ -281,13 +302,9 @@ pub struct CaseQuery { /// Genotype choice for each individual. pub genotype: indexmap::IndexMap>, - /// TODO v move to transcriptRealated - /// Whether to include coding transcripts. - pub transcripts_coding: bool, - /// Whether to include non-coding transcripts. - pub transcripts_noncoding: bool, - /// Maximal distance to next exon, if any. - pub max_exon_dist: Option, + /// TODO: comment + #[serde(flatten)] + pub transcript: TranscriptOptions, /// TODO: comment #[serde(flatten, with = "prefix_var_type")] @@ -334,10 +351,8 @@ impl Default for CaseQuery { population_freqeuecy: Default::default(), quality: Default::default(), genotype: Default::default(), - transcripts_coding: true, - transcripts_noncoding: true, + transcript: Default::default(), var_type: Default::default(), - max_exon_dist: Default::default(), locus: Default::default(), require_in_clinvar: Default::default(), clinvar: Default::default(), From c78d78e7a3b1078443fd1008fc270d1b139249b5 Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 3 Jul 2024 05:48:00 +0200 Subject: [PATCH 06/23] chore: fix typo --- src/seqvars/query/interpreter/frequency.rs | 10 +++++----- src/seqvars/query/schema.rs | 6 ++++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index 292917ef..974429ac 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -2,7 +2,7 @@ use crate::seqvars::query::schema::{CaseQuery, SequenceVariant}; /// Determine whether the `SequenceVariant` passes the frequency filter. pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result { - let pop = &query.population_freqeuecy; + let pop = &query.population_frequency; let is_mtdna = annonars::common::cli::canonicalize(&s.chrom) == "MT"; if is_mtdna { @@ -137,7 +137,7 @@ mod test { use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; let query = CaseQuery { - population_freqeuecy: PopulationFrequencyOptions { + population_frequency: PopulationFrequencyOptions { gnomad: GnomadOptions { exomes_enabled: query_gnomad_exomes_enabled, exomes_frequency: query_gnomad_exomes_frequency, @@ -256,7 +256,7 @@ mod test { use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; let query = CaseQuery { - population_freqeuecy: PopulationFrequencyOptions { + population_frequency: PopulationFrequencyOptions { gnomad: GnomadOptions { genomes_enabled: query_gnomad_genomes_enabled, genomes_frequency: query_gnomad_genomes_frequency, @@ -356,7 +356,7 @@ mod test { use crate::seqvars::query::schema::{HelixMtDbOptions, PopulationFrequencyOptions}; let query = CaseQuery { - population_freqeuecy: PopulationFrequencyOptions { + population_frequency: PopulationFrequencyOptions { helixmtdb: HelixMtDbOptions { enabled: query_helix_enabled, frequency: query_helix_frequency, @@ -454,7 +454,7 @@ mod test { use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; let query = CaseQuery { - population_freqeuecy: PopulationFrequencyOptions { + population_frequency: PopulationFrequencyOptions { gnomad: GnomadOptions { genomes_enabled: query_gnomad_genomes_enabled, genomes_frequency: query_gnomad_genomes_frequency, diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 160ac7a8..8894c58a 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -323,7 +323,7 @@ pub struct CaseQuery { /// PopulationFrequency related filter options #[serde(flatten)] - pub population_freqeuecy: PopulationFrequencyOptions, + pub population_frequency: PopulationFrequencyOptions, /// Inhouse related filter options. TODO BETTER COMMENT #[serde(flatten, with = "prefix_inhouse")] @@ -348,7 +348,7 @@ impl Default for CaseQuery { fn default() -> Self { Self { consequences: mehari::annotate::seqvars::ann::Consequence::all(), - population_freqeuecy: Default::default(), + population_frequency: Default::default(), quality: Default::default(), genotype: Default::default(), transcript: Default::default(), @@ -652,6 +652,8 @@ impl SequenceVariant { if self.gnomad_genomes_an == 0 { return 0f32; } + // TODO, emily: is this code hot then check v + // This code looks like it could result in some missed oppportunity for optimisation, is it really necessary for hom het and hemi to ever be floats? let an = self.gnomad_genomes_an as f32; let hom = self.gnomad_genomes_hom as f32; let het = self.gnomad_genomes_het as f32; From 815f233ed58ffe13069fbc81e173801dd1d9a9dd Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 3 Jul 2024 06:28:17 +0200 Subject: [PATCH 07/23] chore: work on sequencevariant layout --- src/seqvars/query/interpreter/frequency.rs | 91 ++++++++++---- src/seqvars/query/output/variant_related.rs | 28 ++--- src/seqvars/query/schema.rs | 130 ++++++++++++-------- 3 files changed, 159 insertions(+), 90 deletions(-) diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index 974429ac..52fb9849 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -10,9 +10,11 @@ pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result pop.helixmtdb.frequency.expect("tested before") || pop.helixmtdb.heteroplasmic.is_some() - && s.helix_het > pop.helixmtdb.heteroplasmic.expect("tested before") + && s.population_frequencies.helixmtdb.het + > pop.helixmtdb.heteroplasmic.expect("tested before") || pop.helixmtdb.homoplasmic.is_some() - && s.helix_hom > pop.helixmtdb.homoplasmic.expect("tested before")) + && s.population_frequencies.helixmtdb.hom + > pop.helixmtdb.homoplasmic.expect("tested before")) { tracing::trace!( "variant {:?} fails HelixMtDb frequency filter {:?}", @@ -25,11 +27,14 @@ pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result pop.gnomad.exomes_frequency.expect("tested before") || pop.gnomad.exomes_heterozygous.is_some() - && s.gnomad_exomes_het > pop.gnomad.exomes_heterozygous.expect("tested before") + && s.population_frequencies.gnomad.exomes_het + > pop.gnomad.exomes_heterozygous.expect("tested before") || pop.gnomad.exomes_homozygous.is_some() - && s.gnomad_exomes_hom > pop.gnomad.exomes_homozygous.expect("tested before") + && s.population_frequencies.gnomad.exomes_hom + > pop.gnomad.exomes_homozygous.expect("tested before") || pop.gnomad.exomes_hemizygous.is_some() - && s.gnomad_exomes_hemi > pop.gnomad.exomes_hemizygous.expect("tested before")) + && s.population_frequencies.gnomad.exomes_hemi + > pop.gnomad.exomes_hemizygous.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD exomes frequency filter {:?}", @@ -43,12 +48,15 @@ pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result pop.gnomad.genomes_frequency.expect("tested before") || pop.gnomad.genomes_heterozygous.is_some() - && s.gnomad_genomes_het > pop.gnomad.genomes_heterozygous.expect("tested before") + && s.population_frequencies.gnomad.genomes_het + > pop.gnomad.genomes_heterozygous.expect("tested before") || pop.gnomad.genomes_homozygous.is_some() - && s.gnomad_genomes_hom > pop.gnomad.genomes_homozygous.expect("tested before") + && s.population_frequencies.gnomad.genomes_hom + > pop.gnomad.genomes_homozygous.expect("tested before") || !is_mtdna && pop.gnomad.genomes_hemizygous.is_some() - && s.gnomad_genomes_hemi > pop.gnomad.genomes_hemizygous.expect("tested before")) + && s.population_frequencies.gnomad.genomes_hemi + > pop.gnomad.genomes_hemizygous.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD genomes frequency filter {:?}", @@ -67,7 +75,9 @@ mod test { use mehari::annotate::seqvars::ann::{AnnField, Consequence}; use rstest::rstest; - use crate::seqvars::query::schema::{CaseQuery, SequenceVariant}; + use crate::seqvars::query::schema::{ + CaseQuery, HelixMtDBs, PopulationFrequencies, SequenceVariant, + }; #[rstest] // -- frequency --------------------------------------------------------- @@ -134,7 +144,9 @@ mod test { #[case] query_gnomad_exomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; + use crate::seqvars::query::schema::{ + GnomadOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, + }; let query = CaseQuery { population_frequency: PopulationFrequencyOptions { @@ -151,10 +163,16 @@ mod test { ..Default::default() }; let seq_var = SequenceVariant { - gnomad_exomes_an: seqvar_gnomad_exomes_an, - gnomad_exomes_het: seqvar_gnomad_exomes_het, - gnomad_exomes_hom: seqvar_gnomad_exomes_hom, - gnomad_exomes_hemi: seqvar_gnomad_exomes_hemi, + population_frequencies: PopulationFrequencies { + gnomad: Gnomads { + exomes_an: seqvar_gnomad_exomes_an, + exomes_het: seqvar_gnomad_exomes_het, + exomes_hom: seqvar_gnomad_exomes_hom, + exomes_hemi: seqvar_gnomad_exomes_hemi, + ..Default::default() + }, + ..Default::default() + }, chrom: "X".to_string(), reference: "G".into(), alternative: "A".into(), @@ -253,7 +271,9 @@ mod test { #[case] query_gnomad_genomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; + use crate::seqvars::query::schema::{ + GnomadOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, + }; let query = CaseQuery { population_frequency: PopulationFrequencyOptions { @@ -270,10 +290,16 @@ mod test { ..Default::default() }; let seq_var = SequenceVariant { - gnomad_genomes_an: seqvar_gnomad_genomes_an, - gnomad_genomes_het: seqvar_gnomad_genomes_het, - gnomad_genomes_hom: seqvar_gnomad_genomes_hom, - gnomad_genomes_hemi: seqvar_gnomad_genomes_hemi, + population_frequencies: PopulationFrequencies { + gnomad: Gnomads { + genomes_an: seqvar_gnomad_genomes_an, + genomes_het: seqvar_gnomad_genomes_het, + genomes_hom: seqvar_gnomad_genomes_hom, + genomes_hemi: seqvar_gnomad_genomes_hemi, + ..Default::default() + }, + ..Default::default() + }, chrom: "X".to_string(), reference: "G".into(), alternative: "A".into(), @@ -368,9 +394,14 @@ mod test { ..Default::default() }; let seq_var = SequenceVariant { - helix_an: seqvar_helix_an, - helix_het: seqvar_helix_het, - helix_hom: seqvar_helix_hom, + population_frequencies: PopulationFrequencies { + helixmtdb: HelixMtDBs { + an: seqvar_helix_an, + het: seqvar_helix_het, + hom: seqvar_helix_hom, + }, + ..Default::default() + }, chrom: "MT".to_string(), reference: "G".into(), alternative: "A".into(), @@ -451,7 +482,9 @@ mod test { #[case] query_gnomad_genomes_homoplasmic: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::{GnomadOptions, PopulationFrequencyOptions}; + use crate::seqvars::query::schema::{ + GnomadOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, + }; let query = CaseQuery { population_frequency: PopulationFrequencyOptions { @@ -467,9 +500,15 @@ mod test { ..Default::default() }; let seq_var = SequenceVariant { - gnomad_genomes_an: seqvar_gnomad_genomes_an, - gnomad_genomes_het: seqvar_gnomad_genomes_het, - gnomad_genomes_hom: seqvar_gnomad_genomes_hom, + population_frequencies: PopulationFrequencies { + gnomad: Gnomads { + genomes_an: seqvar_gnomad_genomes_an, + genomes_het: seqvar_gnomad_genomes_het, + genomes_hom: seqvar_gnomad_genomes_hom, + ..Default::default() + }, + ..Default::default() + }, chrom: "MT".to_string(), reference: "G".into(), alternative: "A".into(), diff --git a/src/seqvars/query/output/variant_related.rs b/src/seqvars/query/output/variant_related.rs index 8e18ba61..6359f663 100644 --- a/src/seqvars/query/output/variant_related.rs +++ b/src/seqvars/query/output/variant_related.rs @@ -398,20 +398,20 @@ impl Frequency { .gnomad_genomes( NuclearFrequency::new( seqvar.gnomad_genomes_af(), - seqvar.gnomad_genomes_an, - seqvar.gnomad_genomes_het, - seqvar.gnomad_genomes_hom, - seqvar.gnomad_genomes_hemi, + seqvar.population_frequencies.gnomad.genomes_an, + seqvar.population_frequencies.gnomad.genomes_het, + seqvar.population_frequencies.gnomad.genomes_hom, + seqvar.population_frequencies.gnomad.genomes_hemi, ) .some_unless_empty(), ) .gnomad_exomes( NuclearFrequency::new( seqvar.gnomad_exomes_af(), - seqvar.gnomad_exomes_an, - seqvar.gnomad_exomes_het, - seqvar.gnomad_exomes_hom, - seqvar.gnomad_exomes_hemi, + seqvar.population_frequencies.gnomad.exomes_an, + seqvar.population_frequencies.gnomad.exomes_het, + seqvar.population_frequencies.gnomad.exomes_hom, + seqvar.population_frequencies.gnomad.exomes_hemi, ) .some_unless_empty(), ) @@ -421,18 +421,18 @@ impl Frequency { .gnomad_mtdna( MtdnaFrequency::new( seqvar.gnomad_genomes_af(), - seqvar.gnomad_genomes_an, - seqvar.gnomad_genomes_het, - seqvar.gnomad_genomes_hom, + seqvar.population_frequencies.gnomad.genomes_an, + seqvar.population_frequencies.gnomad.genomes_het, + seqvar.population_frequencies.gnomad.genomes_hom, ) .some_unless_empty(), ) .helixmtdb( MtdnaFrequency::new( seqvar.helixmtdb_af(), - seqvar.helix_an, - seqvar.helix_het, - seqvar.helix_hom, + seqvar.population_frequencies.helixmtdb.an, + seqvar.population_frequencies.helixmtdb.het, + seqvar.population_frequencies.helixmtdb.hom, ) .some_unless_empty(), ) diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 8894c58a..459e3f4f 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -407,6 +407,50 @@ pub struct CallInfo { pub phasing_id: Option, } +// serde_with::with_prefix!(prefix_gnomad "gnomad_"); < already declared earlier +#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] +pub struct Gnomads { + /// Number of alleles in gnomAD exomes (not for chrMT). + pub exomes_an: i32, + /// Number of homozygous carriers in gnomAD exomes (not for chrMT). + pub exomes_hom: i32, + /// Number of heterozygous carriers in gnomAD exomes (not for chrMT). + pub exomes_het: i32, + /// Number of hemizygous carriers in gnomAD exomes (not for chrMT). + pub exomes_hemi: i32, + + /// Number of alleles in gnomAD genomes (also for chrMT). + pub genomes_an: i32, + /// Number of homozygous carriers in gnomAD genomes (also for chrMT). + pub genomes_hom: i32, + /// Number of heterozygous carriers in gnomAD genomes (also for chrMT). + pub genomes_het: i32, + /// Number of hemizygous carriers in gnomAD genomes (not for chrMT). + pub genomes_hemi: i32, +} + +// Name difference due to legacy json +serde_with::with_prefix!(prefix_helix "helix_"); + +#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] +pub struct HelixMtDBs { + /// Number of alleles in HelixMtDb cohort (only chrMT). + pub an: i32, + /// Number of homoplasmic carriers in HelixMtDb cohort (only chrMT). + pub hom: i32, + /// Number of heteroplasmic carriers in HelixMtDb cohort (only chrMT). + pub het: i32, +} + +#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] + +pub struct PopulationFrequencies { + #[serde(flatten, with = "prefix_gnomad")] + pub gnomad: Gnomads, + #[serde(flatten, with = "prefix_helix")] + pub helixmtdb: HelixMtDBs, +} + /// Definition of a sequence variant with per-sample genotype calls. /// /// This uses a subset/specialization of what is described by the VCF standard @@ -426,30 +470,9 @@ pub struct SequenceVariant { /// Variant effect annotation. pub ann_fields: Vec, - /// Number of alleles in gnomAD exomes (not for chrMT). - pub gnomad_exomes_an: i32, - /// Number of homozygous carriers in gnomAD exomes (not for chrMT). - pub gnomad_exomes_hom: i32, - /// Number of heterozygous carriers in gnomAD exomes (not for chrMT). - pub gnomad_exomes_het: i32, - /// Number of hemizygous carriers in gnomAD exomes (not for chrMT). - pub gnomad_exomes_hemi: i32, - - /// Number of alleles in gnomAD genomes (also for chrMT). - pub gnomad_genomes_an: i32, - /// Number of homozygous carriers in gnomAD genomes (also for chrMT). - pub gnomad_genomes_hom: i32, - /// Number of heterozygous carriers in gnomAD genomes (also for chrMT). - pub gnomad_genomes_het: i32, - /// Number of hemizygous carriers in gnomAD genomes (not for chrMT). - pub gnomad_genomes_hemi: i32, - - /// Number of alleles in HelixMtDb cohort (only chrMT). - pub helix_an: i32, - /// Number of homoplasmic carriers in HelixMtDb cohort (only chrMT). - pub helix_hom: i32, - /// Number of heteroplasmic carriers in HelixMtDb cohort (only chrMT). - pub helix_het: i32, + /// TODO: comment + #[serde(flatten)] + pub population_frequencies: PopulationFrequencies, /// Number of in-house alleles (also for chrMT). pub inhouse_an: i32, @@ -620,55 +643,62 @@ impl SequenceVariant { extract_key!(helix_het); Ok(SequenceVariant { - gnomad_exomes_an, - gnomad_exomes_hom, - gnomad_exomes_het, - gnomad_exomes_hemi, - gnomad_genomes_an, - gnomad_genomes_hom, - gnomad_genomes_het, - gnomad_genomes_hemi, - helix_an, - helix_hom, - helix_het, + population_frequencies: PopulationFrequencies { + gnomad: Gnomads { + exomes_an: gnomad_exomes_an, + exomes_hom: gnomad_exomes_hom, + exomes_het: gnomad_exomes_het, + exomes_hemi: gnomad_exomes_hemi, + + genomes_an: gnomad_genomes_an, + genomes_hom: gnomad_genomes_hom, + genomes_het: gnomad_genomes_het, + genomes_hemi: gnomad_genomes_hemi, + }, + helixmtdb: HelixMtDBs { + an: helix_an, + hom: helix_hom, + het: helix_het, + }, + }, ..result }) } /// Return allele frequency in gnomAD exomes. pub fn gnomad_exomes_af(&self) -> f32 { - if self.gnomad_exomes_an == 0 { + if self.population_frequencies.gnomad.exomes_an == 0 { return 0f32; } - let an = self.gnomad_exomes_an as f32; - let hom = self.gnomad_exomes_hom as f32; - let het = self.gnomad_exomes_het as f32; - let hemi = self.gnomad_exomes_hemi as f32; + let an = self.population_frequencies.gnomad.exomes_an as f32; + let hom = self.population_frequencies.gnomad.exomes_hom as f32; + let het = self.population_frequencies.gnomad.exomes_het as f32; + let hemi = self.population_frequencies.gnomad.exomes_hemi as f32; (2.0 * hom + het + hemi) / an } /// Return allele frequency in gnomAD genomes. pub fn gnomad_genomes_af(&self) -> f32 { - if self.gnomad_genomes_an == 0 { + if self.population_frequencies.gnomad.genomes_an == 0 { return 0f32; } - // TODO, emily: is this code hot then check v + // TODO, emily: is this code hot then check v // This code looks like it could result in some missed oppportunity for optimisation, is it really necessary for hom het and hemi to ever be floats? - let an = self.gnomad_genomes_an as f32; - let hom = self.gnomad_genomes_hom as f32; - let het = self.gnomad_genomes_het as f32; - let hemi = self.gnomad_genomes_hemi as f32; + let an = self.population_frequencies.gnomad.genomes_an as f32; + let hom = self.population_frequencies.gnomad.genomes_hom as f32; + let het = self.population_frequencies.gnomad.genomes_het as f32; + let hemi = self.population_frequencies.gnomad.genomes_hemi as f32; (2.0 * hom + het + hemi) / an } /// Return allele frequency in HelixMtDb. pub fn helixmtdb_af(&self) -> f32 { - if self.helix_an == 0 { + if self.population_frequencies.helixmtdb.an == 0 { return 0f32; } - let an = self.helix_an as f32; - let hom = self.helix_hom as f32; - let het = self.helix_het as f32; + let an = self.population_frequencies.helixmtdb.an as f32; + let hom = self.population_frequencies.helixmtdb.hom as f32; + let het = self.population_frequencies.helixmtdb.het as f32; (2.0 * hom + het) / an } } From ddbd6acf07011e948ede356058e2bfd275f7221f Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 3 Jul 2024 06:47:00 +0200 Subject: [PATCH 08/23] chore: finish sequencevariant layout --- src/seqvars/query/schema.rs | 29 ++++++++++------- ...riant_from_vcf@Case_1.ingested.vcf-10.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-11.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-12.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-13.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-14.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-15.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-16.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-17.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-18.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-19.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-2.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-20.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-21.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-22.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-23.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-24.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-25.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-26.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-27.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-28.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-29.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-3.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-30.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-31.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-32.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-33.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-34.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-35.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-36.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-37.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-38.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-39.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-4.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-40.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-41.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-42.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-43.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-44.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-45.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-46.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-47.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-48.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-49.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-5.snap | 31 ++++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-50.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-51.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-52.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-53.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-54.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-55.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-56.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-57.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-58.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-59.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-6.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-60.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-61.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-62.snap | 30 +++++++++--------- ...riant_from_vcf@Case_1.ingested.vcf-63.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-7.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-8.snap | 30 +++++++++--------- ...ariant_from_vcf@Case_1.ingested.vcf-9.snap | 30 +++++++++--------- ..._variant_from_vcf@Case_1.ingested.vcf.snap | 30 +++++++++--------- ...ariant_from_vcf@dragen.ingested.vcf-2.snap | 14 ++++----- ..._variant_from_vcf@dragen.ingested.vcf.snap | 16 +++++----- 66 files changed, 979 insertions(+), 971 deletions(-) diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 459e3f4f..cfdf0a20 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -451,6 +451,19 @@ pub struct PopulationFrequencies { pub helixmtdb: HelixMtDBs, } +// serde_with::with_prefix!(prefix_inhouse "inhouse_"); < already declared earlier +#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] +pub struct InhouseFrequencies { + /// Number of in-house alleles (also for chrMT). + pub an: i32, + /// Number of homozygous carriers in in-house cohort (also for chrMT). + pub hom: i32, + /// Number of heterozygous carriers in in-house cohort (also for chrMT). + pub het: i32, + /// Number of hemizygous carriers in in-house cohort (not for chrMT). + pub hemi: i32, +} + /// Definition of a sequence variant with per-sample genotype calls. /// /// This uses a subset/specialization of what is described by the VCF standard @@ -470,21 +483,15 @@ pub struct SequenceVariant { /// Variant effect annotation. pub ann_fields: Vec, + /// Mapping of sample to genotype information for the SV. + pub call_info: indexmap::IndexMap, + /// TODO: comment #[serde(flatten)] pub population_frequencies: PopulationFrequencies, - /// Number of in-house alleles (also for chrMT). - pub inhouse_an: i32, - /// Number of homozygous carriers in in-house cohort (also for chrMT). - pub inhouse_hom: i32, - /// Number of heterozygous carriers in in-house cohort (also for chrMT). - pub inhouse_het: i32, - /// Number of hemizygous carriers in in-house cohort (not for chrMT). - pub inhouse_hemi: i32, - - /// Mapping of sample to genotype information for the SV. - pub call_info: indexmap::IndexMap, + #[serde(flatten, with = "prefix_inhouse")] + pub inhouse_frequencies: InhouseFrequencies, } impl SequenceVariant { diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap index 36665ee3..ead427e8 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap @@ -120,21 +120,6 @@ ann_fields: protein_pos: ~ distance: 2333 messages: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -154,3 +139,18 @@ call_info: dp: 10 ad: 5 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap index d7e46d39..915b4386 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap @@ -7,21 +7,6 @@ pos: 73 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 3320 ad: 3320 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap index a34b5fae..781b0139 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap @@ -7,21 +7,6 @@ pos: 119 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 4113 ad: 4112 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap index 2c29e43a..ab498001 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap @@ -7,21 +7,6 @@ pos: 189 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2204 ad: 2204 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap index 2dac26d7..2d5a3119 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap @@ -7,21 +7,6 @@ pos: 195 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1815 ad: 1815 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap index 03618eee..600682cb 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap @@ -7,21 +7,6 @@ pos: 204 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1304 ad: 1304 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap index fc95bcb6..ff9c3f92 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap @@ -7,21 +7,6 @@ pos: 207 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1277 ad: 1277 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap index 17016a3e..4696d17d 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap @@ -7,21 +7,6 @@ pos: 263 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1031 ad: 1031 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap index d67debb3..3d05e063 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap @@ -7,21 +7,6 @@ pos: 302 reference: A alternative: ACC ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/1 @@ -41,3 +26,18 @@ call_info: dp: 803 ad: 3 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap index b31139fa..990786b9 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap @@ -7,21 +7,6 @@ pos: 310 reference: T alternative: TC ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1091 ad: 1090 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap index 890407f6..9a87b987 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: -434 messages: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -153,3 +138,18 @@ call_info: dp: 40 ad: 21 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap index 3cf8636e..6a7e3b22 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap @@ -7,21 +7,6 @@ pos: 477 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1725 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap index 1838ec8f..dca82aa0 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap @@ -7,21 +7,6 @@ pos: 709 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1814 ad: 1813 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap index b51a4e7c..5aa61fec 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap @@ -7,21 +7,6 @@ pos: 750 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1621 ad: 1621 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap index 355a6d75..17d1f425 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap @@ -7,21 +7,6 @@ pos: 879 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1898 ad: 547 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap index a2f6332a..81c3c6e4 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap @@ -7,21 +7,6 @@ pos: 1243 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1655 ad: 1655 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap index c9b51277..af3a87fd 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap @@ -7,21 +7,6 @@ pos: 1438 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 2900 ad: 2900 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap index 8d8f87a2..904e7ea2 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap @@ -7,21 +7,6 @@ pos: 1824 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1752 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap index f6c463a6..bfa7b0ca 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap @@ -7,21 +7,6 @@ pos: 2633 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2269 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap index 85705b5b..1568e48f 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap @@ -7,21 +7,6 @@ pos: 2706 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2020 ad: 2020 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap index 24f0ef6c..e0dca656 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap @@ -7,21 +7,6 @@ pos: 3010 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1685 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap index d734a796..e99e8bc6 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: -794 messages: ~ -gnomad_exomes_an: 2368 -gnomad_exomes_hom: 10 -gnomad_exomes_het: 80 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -153,3 +138,18 @@ call_info: dp: 23 ad: 11 phasing_id: ~ +gnomad_exomes_an: 2368 +gnomad_exomes_hom: 10 +gnomad_exomes_het: 80 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap index 17777f22..c3f7b67e 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap @@ -7,21 +7,6 @@ pos: 3505 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1664 ad: 1664 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap index be13a9fc..6566cd19 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap @@ -7,21 +7,6 @@ pos: 3784 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/1 @@ -41,3 +26,18 @@ call_info: dp: 1991 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap index 3b4f2f9d..8574d6c9 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap @@ -7,21 +7,6 @@ pos: 4769 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 2108 ad: 2108 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap index 5deca81c..5959b3be 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap @@ -7,21 +7,6 @@ pos: 5046 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1661 ad: 1661 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap index 71d56608..7d472bfb 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap @@ -7,21 +7,6 @@ pos: 5460 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1970 ad: 1968 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap index 61bed043..d4d9dd52 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap @@ -7,21 +7,6 @@ pos: 7028 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1946 ad: 1945 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap index db47d34a..79819260 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap @@ -7,21 +7,6 @@ pos: 7864 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2746 ad: 2746 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap index 4db0bcf1..c64b674a 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap @@ -7,21 +7,6 @@ pos: 8170 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1774 ad: 1774 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap index b9d7cd32..1e787feb 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap @@ -7,21 +7,6 @@ pos: 8251 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1625 ad: 1624 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap index 7f7ea042..334983e8 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap @@ -7,21 +7,6 @@ pos: 8860 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 2241 ad: 2241 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap index 1425d851..43a5f962 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: -796 messages: ~ -gnomad_exomes_an: 3866 -gnomad_exomes_hom: 244 -gnomad_exomes_het: 618 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -153,3 +138,18 @@ call_info: dp: 22 ad: 11 phasing_id: ~ +gnomad_exomes_an: 3866 +gnomad_exomes_hom: 244 +gnomad_exomes_het: 618 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap index 114acae2..9203ccc6 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap @@ -7,21 +7,6 @@ pos: 8994 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1918 ad: 1917 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap index d2d6673d..f3d3be09 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap @@ -7,21 +7,6 @@ pos: 9007 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1735 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap index 3d343365..15091766 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap @@ -7,21 +7,6 @@ pos: 9150 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 2767 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap index c92f309c..1a9bf9a1 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap @@ -7,21 +7,6 @@ pos: 9380 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 2547 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap index fe0fc8ec..4522b5a2 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap @@ -7,21 +7,6 @@ pos: 10097 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1851 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap index a0b81a19..f20b6f09 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap @@ -7,21 +7,6 @@ pos: 11204 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2418 ad: 2418 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap index 42f6be42..e60b17f1 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap @@ -7,21 +7,6 @@ pos: 11674 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2180 ad: 2179 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap index 2e49a8ca..26e1826a 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap @@ -7,21 +7,6 @@ pos: 11719 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2203 ad: 2203 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap index 880f3034..112aaa62 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap @@ -7,21 +7,6 @@ pos: 11947 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1804 ad: 1804 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap index dbefc573..e8a8c2dc 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap @@ -7,21 +7,6 @@ pos: 12414 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1733 ad: 1733 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap index d984ad0e..24837d66 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: -798 messages: ~ -gnomad_exomes_an: 5066 -gnomad_exomes_hom: 546 -gnomad_exomes_het: 795 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/1 @@ -153,3 +138,19 @@ call_info: dp: 22 ad: 0 phasing_id: ~ +gnomad_exomes_an: 5066 +gnomad_exomes_hom: 546 +gnomad_exomes_het: 795 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 + diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap index 7601069d..05d718ce 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap @@ -7,21 +7,6 @@ pos: 12648 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1781 ad: 1777 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap index a52cb702..e1928baa 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap @@ -7,21 +7,6 @@ pos: 12705 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1622 ad: 1621 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap index 7b707647..c2fc5416 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap @@ -7,21 +7,6 @@ pos: 13406 reference: G alternative: A ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1957 ad: 733 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap index 0c3acda8..42b81936 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap @@ -7,21 +7,6 @@ pos: 13611 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2835 ad: 2834 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap index 71e1d605..dce66dd1 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap @@ -7,21 +7,6 @@ pos: 13928 reference: G alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1880 ad: 1880 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap index c29511b9..264a2925 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap @@ -7,21 +7,6 @@ pos: 14148 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1962 ad: 1962 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap index 83967ff7..261174f8 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap @@ -7,21 +7,6 @@ pos: 14766 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2358 ad: 2355 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap index 6ada0254..12916e48 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap @@ -7,21 +7,6 @@ pos: 15326 reference: A alternative: G ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 2690 ad: 2690 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap index 50c77c08..72cf3d51 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap @@ -7,21 +7,6 @@ pos: 15884 reference: G alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 2734 ad: 2733 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap index b46830b2..21ea363c 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap @@ -7,21 +7,6 @@ pos: 16184 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1478 ad: 1478 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap index bcb1bf6d..d3c70cf2 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: -798 messages: ~ -gnomad_exomes_an: 4200 -gnomad_exomes_hom: 29 -gnomad_exomes_het: 334 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/1 @@ -153,3 +138,18 @@ call_info: dp: 22 ad: 0 phasing_id: ~ +gnomad_exomes_an: 4200 +gnomad_exomes_hom: 29 +gnomad_exomes_het: 334 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap index b00b1ebf..36e089af 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap @@ -7,21 +7,6 @@ pos: 16223 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1472 ad: 1472 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap index 3e9166af..19bf7f0b 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap @@ -7,21 +7,6 @@ pos: 16263 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1475 ad: 0 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap index 8f0b026e..8dbee52a 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap @@ -7,21 +7,6 @@ pos: 16292 reference: C alternative: T ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -41,3 +26,18 @@ call_info: dp: 1476 ad: 1476 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap index b808c18f..e5ffe45e 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap @@ -7,21 +7,6 @@ pos: 16519 reference: T alternative: C ann_fields: [] -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -41,3 +26,18 @@ call_info: dp: 1744 ad: 1744 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap index bf10b080..0865f189 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: -800 messages: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /1/1 @@ -153,3 +138,18 @@ call_info: dp: 33 ad: 11 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap index 56ef91a1..f2959fc6 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: -800 messages: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -153,3 +138,18 @@ call_info: dp: 33 ad: 21 phasing_id: ~ +gnomad_exomes_an: 0 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 0 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap index 0eb11c73..ad7f4bd7 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap @@ -119,21 +119,6 @@ ann_fields: protein_pos: ~ distance: 1745 messages: ~ -gnomad_exomes_an: 1936 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 167 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/1 @@ -153,3 +138,18 @@ call_info: dp: 35 ad: 3 phasing_id: ~ +gnomad_exomes_an: 1936 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 167 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 0 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 0 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap index 29c4ab48..1d4c5b06 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap @@ -131,21 +131,6 @@ ann_fields: total: 1885 distance: 44 messages: ~ -gnomad_exomes_an: 31398 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 56 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 251304 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 369 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 call_info: Case_1_father-N1-DNA1-WGS1: genotype: /0/0 @@ -165,3 +150,18 @@ call_info: dp: 42 ad: 21 phasing_id: ~ +gnomad_exomes_an: 31398 +gnomad_exomes_hom: 0 +gnomad_exomes_het: 56 +gnomad_exomes_hemi: 0 +gnomad_genomes_an: 251304 +gnomad_genomes_hom: 0 +gnomad_genomes_het: 369 +gnomad_genomes_hemi: 0 +helix_an: 0 +helix_hom: 0 +helix_het: 0 +inhouse_an: 0 +inhouse_hom: 0 +inhouse_het: 0 +inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap index 7b3a05a8..1d9ad79a 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap @@ -7,6 +7,13 @@ pos: 750 reference: A alternative: G ann_fields: [] +call_info: + CASE: + genotype: /1/1 + quality: 99 + dp: 35 + ad: 35 + phasing_id: ~ gnomad_exomes_an: 0 gnomad_exomes_hom: 0 gnomad_exomes_het: 0 @@ -22,10 +29,3 @@ inhouse_an: 0 inhouse_hom: 0 inhouse_het: 0 inhouse_hemi: 0 -call_info: - CASE: - genotype: /1/1 - quality: 99 - dp: 35 - ad: 35 - phasing_id: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap index a08c5ac4..1e7c2ff7 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap @@ -119,6 +119,13 @@ ann_fields: protein_pos: ~ distance: 63 messages: ~ +call_info: + CASE: + genotype: "|1|1" + quality: 99 + dp: 80 + ad: 80 + phasing_id: 41256074 gnomad_exomes_an: 20150 gnomad_exomes_hom: 2725 gnomad_exomes_het: 5476 @@ -133,11 +140,4 @@ helix_het: 0 inhouse_an: 0 inhouse_hom: 0 inhouse_het: 0 -inhouse_hemi: 0 -call_info: - CASE: - genotype: "|1|1" - quality: 99 - dp: 80 - ad: 80 - phasing_id: 41256074 +inhouse_hemi: 0 \ No newline at end of file From cd9e4bf06625117428f3d2d4363f3fd72333f18a Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 5 Jul 2024 05:35:57 +0200 Subject: [PATCH 09/23] wip: initial protobuf definition --- protos/varfish/v1/query_seqvars.proto | 245 ++++++++++++++++++++++++++ src/seqvars/query/schema.rs | 2 +- 2 files changed, 246 insertions(+), 1 deletion(-) diff --git a/protos/varfish/v1/query_seqvars.proto b/protos/varfish/v1/query_seqvars.proto index e69de29b..5cadd748 100644 --- a/protos/varfish/v1/query_seqvars.proto +++ b/protos/varfish/v1/query_seqvars.proto @@ -0,0 +1,245 @@ +syntax = "proto3"; + +package varfish.v1.seqvars; + +// Suggestion from emily that might be worth discussing: a few members where I think the enabled bool can be implied by the presence/nonpresence of an optional submessage making for cleaner code & less branches + + +// Enumeration for recessive mode queries. +enum RecesssiveMode { + Recessive = 0; + CompoundRecessive = 1; +} + +// Choices for failing quality thresholds on genotypes. +enum FailChoice { + // Ignore failure + Ignore = 0; + // Drop whole variant + Drop = 1; + // TODO COMMENT + NoCall = 2; +} + +// Choice for genotype. +enum GenotypeChoice { + // Any genotype + Any = 0; + // Ref. genotype + Ref = 1; + // Het. genotype + Het = 2; + // Hom. genotype + Hom = 3; + // Non-hom genotype + NonHom = 4; + // Variant genotype + Variant = 5; + // Index in comp. het. recessive inheritance + ComphetIndex = 6; + // Index in recessive inheritance + RecessiveIndex = 7; + // Parent in recessive inheritance + RecessiveParent = 8; +} + +// Quality settings for one sample. +message QualitySettings { + // Minimal coverage for het. sites + optional int32 dp_het = 1; + // Minimal coverage for hom. sites + optional int32 dp_hom = 2; + // Minimal genotype quality + optional int32 gq = 3; + // Minimal allele balance for het. variants + optional float ab = 4; + // Minimal number of alternate reads + optional int32 ad = 5; + // Maximal number of alternate reads + optional int32 ad_max = 6; + // Behaviour on failing quality thresholds + FailChoice fail = 7; +} + +message Range { + int32 start = 1; + int32 end = 2; +} + +message GenomicRegion { + // Chromosome + string chrom = 1; + // Range of region + optional Range = 2; +} + +message ClinVarOptions { + // Wether to require ClinVar membership + bool require_in_clinvar = 1; + // Whether to include benign ClinVar variants + bool include_benign = 2; + // Whether to include pathogenic ClinVar variants + bool include_pathogenic = 3; + // Whether to include likely benign ClinVar variants + bool include_likely_benign = 4; + // Whether to include likely pathogenic ClinVar variants + bool include_likely_pathogenic = 5; + // Whether to include uncertain significance ClinVar variants + bool include_uncertain_significance = 6; + // Whether to include conflicting interpretation ClinVar variants + bool include_conflicting_classifications = 7; +} + +message InhouseFrequencyOptions { + // Whether to enable filtration by 1000 Genomes. + bool enabled = 1; + // Maximal number of in-house carriers + optional int32 carriers = 2; + // Maximal number of in-house heterozygous carriers + optional int32 heterozygous = 3; + // Maximal number of in-house homozygous carriers + optional int32 homozygous = 4; + // Maximal number of in-house hemizygous carriers + optional int32 hemizygous = 5; +} + +// TODO: Might be better to structure with an optional submessage instead of all these individual optionals unless they need to be this way for some reason + +message GnomadOptions { + // Whether to enable filtration by gnomAD exomes + bool exomes_enabled = 1; + // Whether to enable filtration by gnomAD genomes + bool genomes_enabled = 2; + // Maximal frequency in gnomAD exomes + optional float exomes_frequency = 3; + // Maximal number of heterozygous carriers in gnomAD exomes + optional int32 exomes_heterozygous = 4; + // Maximal number of homozygous carriers in gnomAD exomes + optional int32 exomes_homozygous = 5; + // Maximal number of hemizygous carriers in gnomAD exomes + optional int32 exomes_hemizygous = 6; + // Maximal frequency in gnomAD genomes + optional float genomes_frequency = 7; + // Maximal number of heterozygous carriers in gnomAD genomes + optional int32 genomes_heterozygous = 8; + // Maximal number of homozygous carriers in gnomAD genomes + optional int32 genomes_homozygous = 9; + // Maximal number of hemizygous carriers in gnomAD genomes + optional int32 genomes_hemizygous = 10; +} + +message HelixMtDbOptions { + // Whether to enable filtration by mtDB + bool enabled = 1; + // Maximal frequency in HelixMtDb + optional float frequency = 2; + // Maximal number of heterozygous carriers in HelixMtDb + optional int32 heteroplasmic = 3; + // Maximal number of homozygous carriers in HelixMtDb + optional int32 homoplasmic = 4; +} + +message PopulationFrequencyOptions { + GnomadOptions gnomad = 1; + HelixMtDbOptions helixmtdb = 2; +} + +message VariantTypeOptions { + // Whether to include SNVs + bool snv = 1; + // Whether to include indels + bool indel = 2; + // Whether to include MNVs + bool mnv = 3; +} + +message LocusRelatedOptions { + // List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict the resulting variants to + optional repeated string gene_allowlist = 1; + // List of genomic regions to limit restrict the resulting variants to + optional repeated GenomicRegion gnomic_region = 2; +} + +message TranscriptOptions { + // Whether to include coding transcripts + bool transcripts_coding = 1; + // Whether to include non-coding transcripts + bool transcripts_noncoding = 2; + // Maximal distance to next exon, if any + optional int32 max_exon_dist = 3; +} + +enum Consequence { + // high impact + ChromosomeNumberVariation = 0; + ExonLossVariant = 1; + FrameshiftVariant = 2; + RareAminoAcidVariant = 3; + SpliceAcceptorVariant = 4; + SpliceDonorVariant = 5; + StartLost = 6; + StopGained = 7; + StopLost = 8; + TranscriptAblation = 9; + // moderate impact + ThreePrimeUtrTruncation = 10; + FivePrimeUtrTruncaction = 11; + ConservativeInframeDeletion = 12; + ConservativeInframeInsertion = 13; + DisruptiveInframeDeletion = 14; + DisruptiveInframeInsertion = 15; + MissenseVariant = 16; + RegulatoryRegionAblation = 17; + SpliceRegionVariant = 18; + TbfsAblation = 19; + // low impact + FivePrimeUtrPrematureStartCodonGainVariant = 20; + InitiatorCodonVariant = 21; + StartRetained = 22; + StopRetainedVariant = 23; + SynonymousVariant = 24; + // modifier + ThreePrimeUtrVariant = 25; + FivePrimeUtrVariant = 26; + CodingSequenceVariant = 27; + ConservedIntergenicVariant = 28; + ConservedIntronVariant = 29; + DownstreamGeneVariant = 30; + ExonVariant = 31; + FeatureElongation = 32; + FeatureTruncation = 33; + GeneVariant = 34; + IntergenicVariant = 35; + IntronVariant = 36; + MatureMirnaVariant = 37; + // miRNA + Mirna = 38; + NmdTranscriptVariant = 39; + NonCodingTranscriptExonVariant = 40; + NonCodingTranscriptIntronVariant = 41; + RegulatoryRegionAmplification = 42; + RegulatoryRegionVariant = 43; + TfBindingSiteVariant = 44; + TfbsAmplification = 45; + TranscriptAmplification = 46; + TranscriptVariant = 47; + UpstreamGeneVariant = 48; +} + + +message CaseQuery { + // Molecular consequences to consider + repeated Consequence consequences = 1; + // Quality settings for each individual + map quality = 2; + // Genotype choice for each individual + map genotype = 3; + TranscriptOptions transcript = 4; + VariantTypeOptions var_type = 5; + LocusRelatedOptions locus = 6; + // ClinVar related filter options + ClinVarOptions clinvar = 7; + // PopulationFrequency related filter options + PopulationFrequencyOptions population_frequency = 8; + InhouseFrequencyOptions inhouse = 9; +} \ No newline at end of file diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index cfdf0a20..50c1c9c4 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -314,7 +314,7 @@ pub struct CaseQuery { #[serde(flatten)] pub locus: LocusRelatedOptions, - // TODO v moving this into ClinVarOptions without making things meh seems to be annoying + // In protobuf this lives inside ClinVarOptions /// Wether to require ClinVar membership. pub require_in_clinvar: bool, /// ClinVar related filter options. From 81543aab9fd3ce43e8413b9188a1b55291a8745d Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 5 Jul 2024 06:33:41 +0200 Subject: [PATCH 10/23] chore: add proto file to build.rs --- build.rs | 1 + protos/varfish/v1/query_seqvars.proto | 124 +++++++++++++------------- src/pbs.rs | 4 + 3 files changed, 68 insertions(+), 61 deletions(-) diff --git a/build.rs b/build.rs index cb078b03..8b36e2de 100644 --- a/build.rs +++ b/build.rs @@ -9,6 +9,7 @@ fn main() -> Result<(), anyhow::Error> { "varfish/v1/clinvar.proto", "varfish/v1/sv.proto", "varfish/v1/worker.proto", + "varfish/v1/query_seqvars.proto" ] .iter() .map(|f| root.join(f)) diff --git a/protos/varfish/v1/query_seqvars.proto b/protos/varfish/v1/query_seqvars.proto index 5cadd748..7ab704e0 100644 --- a/protos/varfish/v1/query_seqvars.proto +++ b/protos/varfish/v1/query_seqvars.proto @@ -5,6 +5,64 @@ package varfish.v1.seqvars; // Suggestion from emily that might be worth discussing: a few members where I think the enabled bool can be implied by the presence/nonpresence of an optional submessage making for cleaner code & less branches + +enum Consequence { + // high impact + ChromosomeNumberVariation = 0; + ExonLossVariant = 1; + FrameshiftVariant = 2; + RareAminoAcidVariant = 3; + SpliceAcceptorVariant = 4; + SpliceDonorVariant = 5; + StartLost = 6; + StopGained = 7; + StopLost = 8; + TranscriptAblation = 9; + // moderate impact + ThreePrimeUtrTruncation = 10; + FivePrimeUtrTruncaction = 11; + ConservativeInframeDeletion = 12; + ConservativeInframeInsertion = 13; + DisruptiveInframeDeletion = 14; + DisruptiveInframeInsertion = 15; + MissenseVariant = 16; + RegulatoryRegionAblation = 17; + SpliceRegionVariant = 18; + TbfsAblation = 19; + // low impact + FivePrimeUtrPrematureStartCodonGainVariant = 20; + InitiatorCodonVariant = 21; + StartRetained = 22; + StopRetainedVariant = 23; + SynonymousVariant = 24; + // modifier + ThreePrimeUtrVariant = 25; + FivePrimeUtrVariant = 26; + CodingSequenceVariant = 27; + ConservedIntergenicVariant = 28; + ConservedIntronVariant = 29; + DownstreamGeneVariant = 30; + ExonVariant = 31; + FeatureElongation = 32; + FeatureTruncation = 33; + GeneVariant = 34; + IntergenicVariant = 35; + IntronVariant = 36; + MatureMirnaVariant = 37; + // miRNA + Mirna = 38; + NmdTranscriptVariant = 39; + NonCodingTranscriptExonVariant = 40; + NonCodingTranscriptIntronVariant = 41; + RegulatoryRegionAmplification = 42; + RegulatoryRegionVariant = 43; + TfBindingSiteVariant = 44; + TfbsAmplification = 45; + TranscriptAmplification = 46; + TranscriptVariant = 47; + UpstreamGeneVariant = 48; +} + // Enumeration for recessive mode queries. enum RecesssiveMode { Recessive = 0; @@ -70,7 +128,7 @@ message GenomicRegion { // Chromosome string chrom = 1; // Range of region - optional Range = 2; + optional Range range = 2; } message ClinVarOptions { @@ -153,11 +211,13 @@ message VariantTypeOptions { bool mnv = 3; } +// TODO: I've taken the liberty of turning the Option> into just repeated since protobuf doesn't support it and there appear to be no cases where checking for 0 length wouldn't lead to the same thing + message LocusRelatedOptions { // List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict the resulting variants to - optional repeated string gene_allowlist = 1; + repeated string gene_allowlist = 1; // List of genomic regions to limit restrict the resulting variants to - optional repeated GenomicRegion gnomic_region = 2; + repeated GenomicRegion genomic_region = 2; } message TranscriptOptions { @@ -169,64 +229,6 @@ message TranscriptOptions { optional int32 max_exon_dist = 3; } -enum Consequence { - // high impact - ChromosomeNumberVariation = 0; - ExonLossVariant = 1; - FrameshiftVariant = 2; - RareAminoAcidVariant = 3; - SpliceAcceptorVariant = 4; - SpliceDonorVariant = 5; - StartLost = 6; - StopGained = 7; - StopLost = 8; - TranscriptAblation = 9; - // moderate impact - ThreePrimeUtrTruncation = 10; - FivePrimeUtrTruncaction = 11; - ConservativeInframeDeletion = 12; - ConservativeInframeInsertion = 13; - DisruptiveInframeDeletion = 14; - DisruptiveInframeInsertion = 15; - MissenseVariant = 16; - RegulatoryRegionAblation = 17; - SpliceRegionVariant = 18; - TbfsAblation = 19; - // low impact - FivePrimeUtrPrematureStartCodonGainVariant = 20; - InitiatorCodonVariant = 21; - StartRetained = 22; - StopRetainedVariant = 23; - SynonymousVariant = 24; - // modifier - ThreePrimeUtrVariant = 25; - FivePrimeUtrVariant = 26; - CodingSequenceVariant = 27; - ConservedIntergenicVariant = 28; - ConservedIntronVariant = 29; - DownstreamGeneVariant = 30; - ExonVariant = 31; - FeatureElongation = 32; - FeatureTruncation = 33; - GeneVariant = 34; - IntergenicVariant = 35; - IntronVariant = 36; - MatureMirnaVariant = 37; - // miRNA - Mirna = 38; - NmdTranscriptVariant = 39; - NonCodingTranscriptExonVariant = 40; - NonCodingTranscriptIntronVariant = 41; - RegulatoryRegionAmplification = 42; - RegulatoryRegionVariant = 43; - TfBindingSiteVariant = 44; - TfbsAmplification = 45; - TranscriptAmplification = 46; - TranscriptVariant = 47; - UpstreamGeneVariant = 48; -} - - message CaseQuery { // Molecular consequences to consider repeated Consequence consequences = 1; diff --git a/src/pbs.rs b/src/pbs.rs index af343a85..f58812ca 100644 --- a/src/pbs.rs +++ b/src/pbs.rs @@ -6,6 +6,10 @@ pub mod clinvar { include!(concat!(env!("OUT_DIR"), "/varfish.v1.clinvar.serde.rs")); } +pub mod seqvars { + include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.rs")); + include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.serde.rs"));} + /// Code generate for protobufs by `prost-build`. pub mod svs { include!(concat!(env!("OUT_DIR"), "/varfish.v1.svs.rs")); From a63096bf93b5438ba03e6af5b3783a84aa9008e1 Mon Sep 17 00:00:00 2001 From: = <=> Date: Sun, 7 Jul 2024 06:01:08 +0200 Subject: [PATCH 11/23] feat: implement conversion from protobuf format into legacy format --- src/seqvars/query/schema.rs | 197 +++++++++++++++++++++++++++++++++++- 1 file changed, 196 insertions(+), 1 deletion(-) diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 50c1c9c4..b052062b 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -1,6 +1,9 @@ //! Supporting code for seqvar query definition. +use indexmap::IndexMap; +use mehari::annotate::seqvars::ann; use noodles::vcf; +use strum::IntoEnumIterator; use crate::common::genotype_to_string; @@ -29,6 +32,7 @@ pub enum RecessiveMode { Clone, Copy, Default, + strum::EnumIter, )] #[serde(rename_all = "kebab-case")] pub enum FailChoice { @@ -55,6 +59,7 @@ pub enum FailChoice { Clone, Copy, Default, + strum::EnumIter, )] #[serde(rename_all = "kebab-case")] pub enum GenotypeChoice { @@ -128,6 +133,20 @@ pub struct QualitySettings { pub fail: FailChoice, } +impl From for QualitySettings { + fn from(old: crate::pbs::seqvars::QualitySettings) -> Self { + Self { + dp_het: old.dp_het, + dp_hom: old.dp_hom, + gq: old.gq, + ab: old.ab, + ad: old.ad, + ad_max: old.ad_max, + fail: FailChoice::iter().nth(old.fail as usize).unwrap(), + } + } +} + /// Data structure to hold a range. #[derive( serde::Serialize, serde::Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, @@ -139,6 +158,15 @@ pub struct Range { pub end: i32, } +impl From for Range { + fn from(value: crate::pbs::seqvars::Range) -> Self { + Self { + start: value.start, + end: value.end, + } + } +} + /// Data struture to hold a genomic region. #[derive( serde::Serialize, serde::Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, @@ -150,6 +178,15 @@ pub struct GenomicRegion { pub range: Option, } +impl From for GenomicRegion { + fn from(other: crate::pbs::seqvars::GenomicRegion) -> Self { + Self { + chrom: other.chrom, + range: other.range.map(Range::from), + } + } +} + serde_with::with_prefix!(prefix_clinvar "clinvar_"); #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] #[serde(default)] @@ -168,6 +205,19 @@ pub struct ClinVarOptions { pub include_conflicting_classifications: bool, } +impl From for ClinVarOptions { + fn from(other: crate::pbs::seqvars::ClinVarOptions) -> Self { + Self { + include_benign: other.include_benign, + include_pathogenic: other.include_pathogenic, + include_likely_benign: other.include_likely_benign, + include_likely_pathogenic: other.include_likely_pathogenic, + include_uncertain_significance: other.include_uncertain_significance, + include_conflicting_classifications: other.include_conflicting_classifications, + } + } +} + serde_with::with_prefix!(prefix_inhouse "inhouse_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] @@ -185,6 +235,18 @@ pub struct InhouseFrequencyOptions { pub hemizygous: Option, } +impl From for InhouseFrequencyOptions { + fn from(other: crate::pbs::seqvars::InhouseFrequencyOptions) -> Self { + Self { + enabled: other.enabled, + carriers: other.carriers, + heterozygous: other.heterozygous, + homozygous: other.homozygous, + hemizygous: other.hemizygous, + } + } +} + serde_with::with_prefix!(prefix_gnomad "gnomad_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] @@ -213,6 +275,23 @@ pub struct GnomadOptions { pub genomes_hemizygous: Option, } +impl From for GnomadOptions { + fn from(other: crate::pbs::seqvars::GnomadOptions) -> Self { + Self { + exomes_enabled: other.exomes_enabled, + genomes_enabled: other.genomes_enabled, + exomes_frequency: other.exomes_frequency, + exomes_heterozygous: other.exomes_heterozygous, + exomes_homozygous: other.exomes_homozygous, + exomes_hemizygous: other.exomes_hemizygous, + genomes_frequency: other.genomes_frequency, + genomes_heterozygous: other.genomes_heterozygous, + genomes_homozygous: other.genomes_homozygous, + genomes_hemizygous: other.genomes_hemizygous, + } + } +} + serde_with::with_prefix!(prefix_helixmtdb "helixmtdb_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] @@ -228,6 +307,17 @@ pub struct HelixMtDbOptions { pub homoplasmic: Option, } +impl From for HelixMtDbOptions { + fn from(other: crate::pbs::seqvars::HelixMtDbOptions) -> Self { + Self { + enabled: other.enabled, + frequency: other.frequency, + heteroplasmic: other.heteroplasmic, + homoplasmic: other.homoplasmic, + } + } +} + #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] pub struct PopulationFrequencyOptions { @@ -237,6 +327,21 @@ pub struct PopulationFrequencyOptions { pub helixmtdb: HelixMtDbOptions, } +impl From for PopulationFrequencyOptions { + fn from(other: crate::pbs::seqvars::PopulationFrequencyOptions) -> Self { + Self { + gnomad: other + .gnomad + .expect("missing field in PopulationFrequencySptions: gnomad") + .into(), + helixmtdb: other + .helixmtdb + .expect("missing ield in PopulationFrequencyOptions: helixmtdb") + .into(), + } + } +} + serde_with::with_prefix!(prefix_var_type "var_type_"); #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] #[serde(default)] @@ -259,6 +364,16 @@ impl Default for VariantTypeOptions { } } +impl From for VariantTypeOptions { + fn from(other: crate::pbs::seqvars::VariantTypeOptions) -> Self { + Self { + snv: other.snv, + indel: other.indel, + mnv: other.mnv, + } + } +} + #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] pub struct LocusRelatedOptions { @@ -269,6 +384,28 @@ pub struct LocusRelatedOptions { pub genomic_regions: Option>, } +impl From for LocusRelatedOptions { + fn from(other: crate::pbs::seqvars::LocusRelatedOptions) -> Self { + Self { + gene_allowlist: match other.gene_allowlist.first() { + None => None, + _ => Some(other.gene_allowlist), + }, + genomic_regions: match other.genomic_region.first() { + None => None, + _ => Some( + other + .genomic_region + .iter() + .map(std::borrow::ToOwned::to_owned) + .map(GenomicRegion::from) + .collect(), + ), + }, + } + } +} + #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] #[serde(default)] pub struct TranscriptOptions { @@ -280,6 +417,16 @@ pub struct TranscriptOptions { pub max_exon_dist: Option, } +impl From for TranscriptOptions { + fn from(other: crate::pbs::seqvars::TranscriptOptions) -> Self { + Self { + transcripts_coding: other.transcripts_coding, + transcripts_noncoding: other.transcripts_noncoding, + max_exon_dist: other.max_exon_dist, + } + } +} + impl Default for TranscriptOptions { fn default() -> Self { TranscriptOptions { @@ -299,6 +446,7 @@ pub struct CaseQuery { /// Quality settings for each individual. pub quality: indexmap::IndexMap, + /// Genotype choice for each individual. pub genotype: indexmap::IndexMap>, @@ -330,6 +478,54 @@ pub struct CaseQuery { pub inhouse: InhouseFrequencyOptions, } +impl From for CaseQuery { + fn from(other: crate::pbs::seqvars::CaseQuery) -> Self { + let consequences: Vec<_> = other + .consequences + .iter() + .map(|x| ann::Consequence::iter().nth(*x as usize).unwrap()) + .collect(); + let quality: IndexMap = other + .quality + .iter() + .map(|(x, y)| (x.to_owned(), y.clone().into())) + .collect(); + + Self { + consequences, + quality, + genotype: other + .genotype + .iter() + .map(|(x, y)| (x.to_owned(), GenotypeChoice::iter().nth(*y as usize))) + .collect(), + // Protobuf allows retroactively declaring fields optional so we need to enforce presence here + transcript: other + .transcript + .expect("missing field in CaseQuery: transcript") + .into(), + var_type: other + .var_type + .expect("missing field in CaseQuery: var_type") + .into(), + locus: other + .locus + .expect("missing field in CaseQuery: locus") + .into(), + require_in_clinvar: other.clinvar.is_some(), + clinvar: other.clinvar.unwrap_or_default().into(), + population_frequency: other + .population_frequency + .expect("Missing field in CaseQuery: population_frequency") + .into(), + inhouse: other + .inhouse + .expect("Missing field in CaseQuery: inhouse") + .into(), + } + } +} + impl Default for ClinVarOptions { fn default() -> Self { Self { @@ -431,7 +627,6 @@ pub struct Gnomads { // Name difference due to legacy json serde_with::with_prefix!(prefix_helix "helix_"); - #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] pub struct HelixMtDBs { /// Number of alleles in HelixMtDb cohort (only chrMT). From 4dbac9f2db78a3626a5e1ed944f7e00b966ebfea Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 19 Jul 2024 08:18:27 +0200 Subject: [PATCH 12/23] implement changes from review. (tests fail, needs readjusting on the rust side of things still) --- build.rs | 2 +- protos/varfish/v1/query_seqvars.proto | 106 +++++++++--------- src/pbs.rs | 3 +- src/seqvars/query/interpreter/frequency.rs | 82 +++++++------- src/seqvars/query/interpreter/quality.rs | 28 ++--- src/seqvars/query/schema.rs | 123 ++++++++++++--------- 6 files changed, 187 insertions(+), 157 deletions(-) diff --git a/build.rs b/build.rs index 8b36e2de..cc57b78e 100644 --- a/build.rs +++ b/build.rs @@ -9,7 +9,7 @@ fn main() -> Result<(), anyhow::Error> { "varfish/v1/clinvar.proto", "varfish/v1/sv.proto", "varfish/v1/worker.proto", - "varfish/v1/query_seqvars.proto" + "varfish/v1/query_seqvars.proto", ] .iter() .map(|f| root.join(f)) diff --git a/protos/varfish/v1/query_seqvars.proto b/protos/varfish/v1/query_seqvars.proto index 7ab704e0..84e9c0a5 100644 --- a/protos/varfish/v1/query_seqvars.proto +++ b/protos/varfish/v1/query_seqvars.proto @@ -2,12 +2,10 @@ syntax = "proto3"; package varfish.v1.seqvars; -// Suggestion from emily that might be worth discussing: a few members where I think the enabled bool can be implied by the presence/nonpresence of an optional submessage making for cleaner code & less branches - - +// The Variant consequence enum Consequence { - // high impact + // high impact ChromosomeNumberVariation = 0; ExonLossVariant = 1; FrameshiftVariant = 2; @@ -65,18 +63,9 @@ enum Consequence { // Enumeration for recessive mode queries. enum RecesssiveMode { - Recessive = 0; - CompoundRecessive = 1; -} - -// Choices for failing quality thresholds on genotypes. -enum FailChoice { - // Ignore failure - Ignore = 0; - // Drop whole variant - Drop = 1; - // TODO COMMENT - NoCall = 2; + Unknown = 0; + Recessive = 1; + CompoundRecessive = 2; } // Choice for genotype. @@ -102,21 +91,23 @@ enum GenotypeChoice { } // Quality settings for one sample. -message QualitySettings { +message SampleQualitySettings { + // Name of the sample filtered for + string sample = 1; + // Enable filter for sample. + bool enabled = 2; // Minimal coverage for het. sites - optional int32 dp_het = 1; + optional int32 dp_het = 3; // Minimal coverage for hom. sites - optional int32 dp_hom = 2; + optional int32 dp_hom = 4; // Minimal genotype quality - optional int32 gq = 3; + optional int32 gq = 5; // Minimal allele balance for het. variants - optional float ab = 4; + optional float ab = 6; // Minimal number of alternate reads - optional int32 ad = 5; + optional int32 ad = 7; // Maximal number of alternate reads - optional int32 ad_max = 6; - // Behaviour on failing quality thresholds - FailChoice fail = 7; + optional int32 ad_max = 8; } message Range { @@ -148,6 +139,8 @@ message ClinVarOptions { bool include_conflicting_classifications = 7; } + + message InhouseFrequencyOptions { // Whether to enable filtration by 1000 Genomes. bool enabled = 1; @@ -161,29 +154,33 @@ message InhouseFrequencyOptions { optional int32 hemizygous = 5; } -// TODO: Might be better to structure with an optional submessage instead of all these individual optionals unless they need to be this way for some reason - -message GnomadOptions { - // Whether to enable filtration by gnomAD exomes - bool exomes_enabled = 1; - // Whether to enable filtration by gnomAD genomes - bool genomes_enabled = 2; - // Maximal frequency in gnomAD exomes - optional float exomes_frequency = 3; - // Maximal number of heterozygous carriers in gnomAD exomes - optional int32 exomes_heterozygous = 4; - // Maximal number of homozygous carriers in gnomAD exomes - optional int32 exomes_homozygous = 5; - // Maximal number of hemizygous carriers in gnomAD exomes - optional int32 exomes_hemizygous = 6; - // Maximal frequency in gnomAD genomes - optional float genomes_frequency = 7; - // Maximal number of heterozygous carriers in gnomAD genomes - optional int32 genomes_heterozygous = 8; - // Maximal number of homozygous carriers in gnomAD genomes - optional int32 genomes_homozygous = 9; - // Maximal number of hemizygous carriers in gnomAD genomes - optional int32 genomes_hemizygous = 10; +message GnomadNuclearOptions { + // Whether to enable filtration by 1000 Genomes. + bool enabled = 1; + // Maximal number of in-house carriers + optional int32 carriers = 2; + // Maximal number of in-house heterozygous carriers + optional int32 heterozygous = 3; + // Maximal number of in-house homozygous carriers + optional int32 homozygous = 4; + // Maximal number of in-house hemizygous carriers + optional int32 hemizygous = 5; + // Maximal allele frequency. + optional float allele_frequency = 6; +} + + +message GnomadMitochondrialOptions { + // Whether to enable filtration by 1000 Genomes. + bool enabled = 1; + // Maximal number of carriers + optional int32 carriers = 2; + // Maximal number of heteroplasmic carriers. + optional int32 heteroplasmic = 3; + // Maximal number of homoplasmic carriers. + optional int32 homoplasmic = 4; + // Maximal allele frequency. + optional float allele_frequency = 5; } message HelixMtDbOptions { @@ -198,8 +195,14 @@ message HelixMtDbOptions { } message PopulationFrequencyOptions { - GnomadOptions gnomad = 1; - HelixMtDbOptions helixmtdb = 2; + // gnomAD-exomes filter + GnomadNuclearOptions gnomad_exomes = 1; + // gnomAD-genomes filter + GnomadNuclearOptions gnomad_genomes = 2; + // gnomAD-MT filter + GnomadMitochondrialOptions gnomad_mt = 3; + // HelixMtDb filter + HelixMtDbOptions helixmtdb = 4; } message VariantTypeOptions { @@ -233,13 +236,14 @@ message CaseQuery { // Molecular consequences to consider repeated Consequence consequences = 1; // Quality settings for each individual - map quality = 2; + map quality = 2; // Genotype choice for each individual map genotype = 3; TranscriptOptions transcript = 4; VariantTypeOptions var_type = 5; LocusRelatedOptions locus = 6; // ClinVar related filter options + // need to explicitly have an enable function ClinVarOptions clinvar = 7; // PopulationFrequency related filter options PopulationFrequencyOptions population_frequency = 8; diff --git a/src/pbs.rs b/src/pbs.rs index f58812ca..a86c866f 100644 --- a/src/pbs.rs +++ b/src/pbs.rs @@ -8,7 +8,8 @@ pub mod clinvar { pub mod seqvars { include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.rs")); - include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.serde.rs"));} + include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.serde.rs")); +} /// Code generate for protobufs by `prost-build`. pub mod svs { diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index 52fb9849..3131ab76 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -23,45 +23,45 @@ pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result pop.gnomad.exomes_frequency.expect("tested before") - || pop.gnomad.exomes_heterozygous.is_some() + } else if pop.gnomad_exomes.enabled + && (pop.gnomad_exomes.allele_frequency.is_some() + && s.gnomad_exomes_af() > pop.gnomad_exomes.allele_frequency.expect("tested before") + || pop.gnomad_exomes.heterozygous.is_some() && s.population_frequencies.gnomad.exomes_het - > pop.gnomad.exomes_heterozygous.expect("tested before") - || pop.gnomad.exomes_homozygous.is_some() + > pop.gnomad_exomes.heterozygous.expect("tested before") + || pop.gnomad_exomes.homozygous.is_some() && s.population_frequencies.gnomad.exomes_hom - > pop.gnomad.exomes_homozygous.expect("tested before") - || pop.gnomad.exomes_hemizygous.is_some() + > pop.gnomad_exomes.homozygous.expect("tested before") + || pop.gnomad_exomes.hemizygous.is_some() && s.population_frequencies.gnomad.exomes_hemi - > pop.gnomad.exomes_hemizygous.expect("tested before")) + > pop.gnomad_exomes.hemizygous.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD exomes frequency filter {:?}", s, - &pop.gnomad.exomes_frequency + &pop.gnomad_exomes.allele_frequency ); return Ok(false); } - if pop.gnomad.genomes_enabled - && (pop.gnomad.genomes_frequency.is_some() - && s.gnomad_genomes_af() > pop.gnomad.genomes_frequency.expect("tested before") - || pop.gnomad.genomes_heterozygous.is_some() + if pop.gnomad_genomes.enabled + && (pop.gnomad_genomes.allele_frequency.is_some() + && s.gnomad_genomes_af() > pop.gnomad_genomes.allele_frequency.expect("tested before") + || pop.gnomad_genomes.heterozygous.is_some() && s.population_frequencies.gnomad.genomes_het - > pop.gnomad.genomes_heterozygous.expect("tested before") - || pop.gnomad.genomes_homozygous.is_some() + > pop.gnomad_genomes.heterozygous.expect("tested before") + || pop.gnomad_genomes.homozygous.is_some() && s.population_frequencies.gnomad.genomes_hom - > pop.gnomad.genomes_homozygous.expect("tested before") + > pop.gnomad_genomes.homozygous.expect("tested before") || !is_mtdna - && pop.gnomad.genomes_hemizygous.is_some() + && pop.gnomad_genomes.hemizygous.is_some() && s.population_frequencies.gnomad.genomes_hemi - > pop.gnomad.genomes_hemizygous.expect("tested before")) + > pop.gnomad_genomes.hemizygous.expect("tested before")) { tracing::trace!( - "variant {:?} fails gnomAD genomes frequency filter {:?}", + "variant {:?} fails gnomAD genomes allele_frequency filter {:?}", s, - &pop.gnomad.genomes_frequency + &pop.gnomad_genomes.allele_frequency ); return Ok(false); } @@ -145,17 +145,17 @@ mod test { #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { use crate::seqvars::query::schema::{ - GnomadOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, + GnomadNuclearOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, }; let query = CaseQuery { population_frequency: PopulationFrequencyOptions { - gnomad: GnomadOptions { - exomes_enabled: query_gnomad_exomes_enabled, - exomes_frequency: query_gnomad_exomes_frequency, - exomes_heterozygous: query_gnomad_exomes_heterozygous, - exomes_homozygous: query_gnomad_exomes_homozygous, - exomes_hemizygous: query_gnomad_exomes_hemizygous, + gnomad_exomes: GnomadNuclearOptions { + enabled: query_gnomad_exomes_enabled, + allele_frequency: query_gnomad_exomes_frequency, + heterozygous: query_gnomad_exomes_heterozygous, + homozygous: query_gnomad_exomes_homozygous, + hemizygous: query_gnomad_exomes_hemizygous, ..Default::default() }, ..Default::default() @@ -272,17 +272,17 @@ mod test { #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { use crate::seqvars::query::schema::{ - GnomadOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, + GnomadNuclearOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, }; let query = CaseQuery { population_frequency: PopulationFrequencyOptions { - gnomad: GnomadOptions { - genomes_enabled: query_gnomad_genomes_enabled, - genomes_frequency: query_gnomad_genomes_frequency, - genomes_heterozygous: query_gnomad_genomes_heterozygous, - genomes_homozygous: query_gnomad_genomes_homozygous, - genomes_hemizygous: query_gnomad_genomes_hemizygous, + gnomad_genomes: GnomadNuclearOptions { + enabled: query_gnomad_genomes_enabled, + allele_frequency: query_gnomad_genomes_frequency, + heterozygous: query_gnomad_genomes_heterozygous, + homozygous: query_gnomad_genomes_homozygous, + hemizygous: query_gnomad_genomes_hemizygous, ..Default::default() }, ..Default::default() @@ -483,16 +483,16 @@ mod test { #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { use crate::seqvars::query::schema::{ - GnomadOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, + GnomadNuclearOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, }; let query = CaseQuery { population_frequency: PopulationFrequencyOptions { - gnomad: GnomadOptions { - genomes_enabled: query_gnomad_genomes_enabled, - genomes_frequency: query_gnomad_genomes_frequency, - genomes_heterozygous: query_gnomad_genomes_heteroplasmic, - genomes_homozygous: query_gnomad_genomes_homoplasmic, + gnomad_genomes: GnomadNuclearOptions { + enabled: query_gnomad_genomes_enabled, + allele_frequency: query_gnomad_genomes_frequency, + heterozygous: query_gnomad_genomes_heteroplasmic, + homozygous: query_gnomad_genomes_homoplasmic, ..Default::default() }, ..Default::default() diff --git a/src/seqvars/query/interpreter/quality.rs b/src/seqvars/query/interpreter/quality.rs index c77b0b5d..71b51097 100644 --- a/src/seqvars/query/interpreter/quality.rs +++ b/src/seqvars/query/interpreter/quality.rs @@ -1,6 +1,8 @@ use crate::{ common::strip_gt_leading_slash, - seqvars::query::schema::{CallInfo, CaseQuery, FailChoice, QualitySettings, SequenceVariant}, + seqvars::query::schema::{ + CallInfo, CaseQuery, FailChoice, SampleQualitySettings, SequenceVariant, + }, }; /// Return type for the `passes` function. @@ -60,7 +62,7 @@ pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result Option { #[derive(PartialEq, Eq)] @@ -90,7 +92,7 @@ fn passes_for_sample( if let Some(dp_het) = quality_settings.dp_het { if let Some(dp) = call_info.dp { if dp < dp_het { - return Some(quality_settings.fail); + return Some(FailChoice::Ignore); //TODO: Emily Some(quality_settings.fail); } } } @@ -103,7 +105,7 @@ fn passes_for_sample( let ab = if ab_raw > 0.5 { 1.0 - ab_raw } else { ab_raw }; let eps = 1e-6f64; if ab + eps < settings_ab as f64 { - return Some(quality_settings.fail); + return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); } } } @@ -111,7 +113,7 @@ fn passes_for_sample( if let Some(dp_hom) = quality_settings.dp_hom { if let Some(dp) = call_info.dp { if dp < dp_hom { - return Some(quality_settings.fail); + return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); } } } @@ -122,7 +124,7 @@ fn passes_for_sample( // gq if let (Some(settings_gq), Some(call_gq)) = (quality_settings.gq, call_info.quality) { if call_gq < settings_gq as f32 { - return Some(quality_settings.fail); + return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); } } @@ -130,14 +132,14 @@ fn passes_for_sample( // ad if let (Some(settings_ad), Some(call_ad)) = (quality_settings.ad, call_info.ad) { if call_ad < settings_ad { - return Some(quality_settings.fail); + return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); } } // ad_max if let (Some(settings_ad_max), Some(call_ad)) = (quality_settings.ad_max, call_info.ad) { if call_ad > settings_ad_max { - return Some(quality_settings.fail); + return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); } } } @@ -152,7 +154,7 @@ mod test { use crate::seqvars::query::schema::{ CallInfo, CaseQuery, FailChoice::{self, *}, - QualitySettings, SequenceVariant, + SampleQualitySettings, SequenceVariant, }; #[rstest] @@ -171,14 +173,14 @@ mod test { let query = CaseQuery { quality: vec![( String::from("sample"), - QualitySettings { + SampleQualitySettings { dp_het: None, dp_hom: None, gq: if should_pass { None } else { Some(40) }, ab: None, ad: None, ad_max: None, - fail: q_fail, + //TODO: emily fail: q_fail, }, )] .into_iter() @@ -475,14 +477,14 @@ mod test { #[case] c_ad: Option, #[case] expected: Option, ) -> Result<(), anyhow::Error> { - let settings = QualitySettings { + let settings = SampleQualitySettings { dp_het: q_dp_het, dp_hom: q_dp_hom, gq: q_gq, ab: q_ab, ad: q_ad, ad_max: q_ad_max, - fail: q_fail, + //TODO: emily fail: q_fail, }; let call_info = CallInfo { genotype: c_genotype.map(|s| s.to_string()), diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index b052062b..3f19ded8 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -116,7 +116,7 @@ impl GenotypeChoice { /// Quality settings for one sample. #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] -pub struct QualitySettings { +pub struct SampleQualitySettings { /// Minimal coverage for het. sites. pub dp_het: Option, /// Minimal coverage for hom. sites. @@ -129,12 +129,10 @@ pub struct QualitySettings { pub ad: Option, /// Maximal number of alternate reads pub ad_max: Option, - /// Behaviour on failing quality thresholds. - pub fail: FailChoice, } -impl From for QualitySettings { - fn from(old: crate::pbs::seqvars::QualitySettings) -> Self { +impl From for SampleQualitySettings { + fn from(old: crate::pbs::seqvars::SampleQualitySettings) -> Self { Self { dp_het: old.dp_het, dp_hom: old.dp_hom, @@ -142,7 +140,7 @@ impl From for QualitySettings { ab: old.ab, ad: old.ad, ad_max: old.ad_max, - fail: FailChoice::iter().nth(old.fail as usize).unwrap(), + //fail: FailChoice::iter().nth(old.fail as usize).unwrap(), } } } @@ -221,8 +219,23 @@ impl From for ClinVarOptions { serde_with::with_prefix!(prefix_inhouse "inhouse_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] -/// TODO: currently unused? pub struct InhouseFrequencyOptions { + /// Whether to enable filtration by 1000 Genomes. + pub enabled: bool, + /// Maximal number of in-house carriers + pub carriers: Option, + /// Maximal number of in-house heterozygous carriers + pub heterozygous: Option, + /// Maximal number of in-house homozygous carriers + pub homozygous: Option, + /// Maximal number of in-house hemizygous carriers + pub hemizygous: Option, +} + +#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] +#[serde(default)] +/// TODO: currently unused? +pub struct GnomadNuclearOptions { /// Whether to enable filtration by 1000 Genomes. pub enabled: bool, /// Maximal number of in-house carriers. @@ -233,6 +246,21 @@ pub struct InhouseFrequencyOptions { pub homozygous: Option, /// Maximal number of in-house hemizygous carriers. pub hemizygous: Option, + // Maximal allele frequency. + pub allele_frequency: Option, +} + +impl From for GnomadNuclearOptions { + fn from(other: crate::pbs::seqvars::GnomadNuclearOptions) -> Self { + Self { + enabled: other.enabled, + carriers: other.carriers, + heterozygous: other.heterozygous, + homozygous: other.homozygous, + hemizygous: other.hemizygous, + allele_frequency: other.allele_frequency, + } + } } impl From for InhouseFrequencyOptions { @@ -250,44 +278,27 @@ impl From for InhouseFrequencyOpti serde_with::with_prefix!(prefix_gnomad "gnomad_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] -pub struct GnomadOptions { - /// Whether to enable filtration by gnomAD exomes. - pub exomes_enabled: bool, - /// Whether to enable filtration by gnomAD genomes - pub genomes_enabled: bool, - - /// Maximal frequency in gnomAD exomes. - pub exomes_frequency: Option, - /// Maximal number of heterozygous carriers in gnomAD exomes. - pub exomes_heterozygous: Option, - /// Maximal number of homozygous carriers in gnomAD exomes. - pub exomes_homozygous: Option, - /// Maximal number of hemizygous carriers in gnomAD exomes. - pub exomes_hemizygous: Option, - - /// Maximal frequency in gnomAD genomes. - pub genomes_frequency: Option, - /// Maximal number of heterozygous carriers in gnomAD genomes. - pub genomes_heterozygous: Option, - /// Maximal number of homozygous carriers in gnomAD genomes. - pub genomes_homozygous: Option, - /// Maximal number of hemizygous carriers in gnomAD genomes. - pub genomes_hemizygous: Option, -} - -impl From for GnomadOptions { - fn from(other: crate::pbs::seqvars::GnomadOptions) -> Self { +pub struct GnomadMitochondrialOptions { + /// Whether to enable filtration by 1000 Genomes. + pub enabled: bool, + /// Maximal number of carriers + pub carriers: Option, + /// Maximal number of heteroplasmic carriers. + pub heteroplasmic: Option, + /// Maximal number of homoplasmic carriers. + pub homoplasmic: Option, + /// Maximal allele frequency. + pub allele_frequency: Option, +} + +impl From for GnomadMitochondrialOptions { + fn from(other: crate::pbs::seqvars::GnomadMitochondrialOptions) -> Self { Self { - exomes_enabled: other.exomes_enabled, - genomes_enabled: other.genomes_enabled, - exomes_frequency: other.exomes_frequency, - exomes_heterozygous: other.exomes_heterozygous, - exomes_homozygous: other.exomes_homozygous, - exomes_hemizygous: other.exomes_hemizygous, - genomes_frequency: other.genomes_frequency, - genomes_heterozygous: other.genomes_heterozygous, - genomes_homozygous: other.genomes_homozygous, - genomes_hemizygous: other.genomes_hemizygous, + enabled: other.enabled, + carriers: other.carriers, + heteroplasmic: other.heteroplasmic, + homoplasmic: other.homoplasmic, + allele_frequency: other.allele_frequency, } } } @@ -322,7 +333,11 @@ impl From for HelixMtDbOptions { #[serde(default)] pub struct PopulationFrequencyOptions { #[serde(flatten, with = "prefix_gnomad")] - pub gnomad: GnomadOptions, + pub gnomad_exomes: GnomadNuclearOptions, + // TODO emily: flatten right + pub gnomad_genomes: GnomadNuclearOptions, + // gnomAD-MT filter + pub gnomad_mt: GnomadMitochondrialOptions, #[serde(flatten, with = "prefix_helixmtdb")] pub helixmtdb: HelixMtDbOptions, } @@ -330,9 +345,17 @@ pub struct PopulationFrequencyOptions { impl From for PopulationFrequencyOptions { fn from(other: crate::pbs::seqvars::PopulationFrequencyOptions) -> Self { Self { - gnomad: other - .gnomad - .expect("missing field in PopulationFrequencySptions: gnomad") + gnomad_exomes: other + .gnomad_exomes + .expect("missing field in PopulationFrequencyOptions: gnomad_exomes") + .into(), + gnomad_genomes: other + .gnomad_genomes + .expect("missing field in PopulationFrequencyOptions: gnomad_genomes") + .into(), + gnomad_mt: other + .gnomad_mt + .expect("missing field in PopulationFrequencyOptions: gnomad_mt") .into(), helixmtdb: other .helixmtdb @@ -445,7 +468,7 @@ pub struct CaseQuery { pub consequences: Vec, /// Quality settings for each individual. - pub quality: indexmap::IndexMap, + pub quality: indexmap::IndexMap, /// Genotype choice for each individual. pub genotype: indexmap::IndexMap>, @@ -485,7 +508,7 @@ impl From for CaseQuery { .iter() .map(|x| ann::Consequence::iter().nth(*x as usize).unwrap()) .collect(); - let quality: IndexMap = other + let quality: IndexMap = other .quality .iter() .map(|(x, y)| (x.to_owned(), y.clone().into())) From 402d10d98aa9106734db16fcbecd3a193ded24fd Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 19 Jul 2024 08:58:47 +0200 Subject: [PATCH 13/23] adjust json schema to be closer to original schema --- src/seqvars/query/interpreter/quality.rs | 12 ++++++------ src/seqvars/query/schema.rs | 13 +++++++++++-- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/seqvars/query/interpreter/quality.rs b/src/seqvars/query/interpreter/quality.rs index 71b51097..3870918f 100644 --- a/src/seqvars/query/interpreter/quality.rs +++ b/src/seqvars/query/interpreter/quality.rs @@ -92,7 +92,7 @@ fn passes_for_sample( if let Some(dp_het) = quality_settings.dp_het { if let Some(dp) = call_info.dp { if dp < dp_het { - return Some(FailChoice::Ignore); //TODO: Emily Some(quality_settings.fail); + return Some(FailChoice::Drop); //TODO: Emily Some(quality_settings.fail); } } } @@ -105,7 +105,7 @@ fn passes_for_sample( let ab = if ab_raw > 0.5 { 1.0 - ab_raw } else { ab_raw }; let eps = 1e-6f64; if ab + eps < settings_ab as f64 { - return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); + return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); } } } @@ -113,7 +113,7 @@ fn passes_for_sample( if let Some(dp_hom) = quality_settings.dp_hom { if let Some(dp) = call_info.dp { if dp < dp_hom { - return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); + return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); } } } @@ -124,7 +124,7 @@ fn passes_for_sample( // gq if let (Some(settings_gq), Some(call_gq)) = (quality_settings.gq, call_info.quality) { if call_gq < settings_gq as f32 { - return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); + return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); } } @@ -132,14 +132,14 @@ fn passes_for_sample( // ad if let (Some(settings_ad), Some(call_ad)) = (quality_settings.ad, call_info.ad) { if call_ad < settings_ad { - return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); + return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); } } // ad_max if let (Some(settings_ad_max), Some(call_ad)) = (quality_settings.ad_max, call_info.ad) { if call_ad > settings_ad_max { - return Some(FailChoice::Ignore); // TODO: Emily Some(quality_settings.fail); + return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); } } } diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 3f19ded8..5799e2e0 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -247,6 +247,7 @@ pub struct GnomadNuclearOptions { /// Maximal number of in-house hemizygous carriers. pub hemizygous: Option, // Maximal allele frequency. + #[serde(rename = "frequency")] pub allele_frequency: Option, } @@ -275,7 +276,6 @@ impl From for InhouseFrequencyOpti } } -serde_with::with_prefix!(prefix_gnomad "gnomad_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] pub struct GnomadMitochondrialOptions { @@ -288,6 +288,7 @@ pub struct GnomadMitochondrialOptions { /// Maximal number of homoplasmic carriers. pub homoplasmic: Option, /// Maximal allele frequency. + #[serde(rename = "frequency")] pub allele_frequency: Option, } @@ -329,14 +330,20 @@ impl From for HelixMtDbOptions { } } + +serde_with::with_prefix!(prefix_gnomad_exomes "gnomad_exomes_"); +serde_with::with_prefix!(prefix_gnomad_genomes "gnomad_genomes_"); +serde_with::with_prefix!(prefix_gnomad_mt "gnomat_mt_"); #[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] #[serde(default)] pub struct PopulationFrequencyOptions { - #[serde(flatten, with = "prefix_gnomad")] + #[serde(flatten, with = "prefix_gnomad_exomes")] pub gnomad_exomes: GnomadNuclearOptions, // TODO emily: flatten right + #[serde(flatten, with = "prefix_gnomad_genomes")] pub gnomad_genomes: GnomadNuclearOptions, // gnomAD-MT filter + #[serde(flatten, with = "prefix_gnomad_mt")] pub gnomad_mt: GnomadMitochondrialOptions, #[serde(flatten, with = "prefix_helixmtdb")] pub helixmtdb: HelixMtDbOptions, @@ -660,6 +667,8 @@ pub struct HelixMtDBs { pub het: i32, } + +serde_with::with_prefix!(prefix_gnomad "gnomad_"); #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] pub struct PopulationFrequencies { From 0c07d1ff9482fbd1efec0d868a5b74331bebef07 Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 24 Jul 2024 07:52:47 +0200 Subject: [PATCH 14/23] should be final protobuf schema, tests pass again --- protos/varfish/v1/query_seqvars.proto | 20 ++--- src/seqvars/query/interpreter/quality.rs | 39 ++++----- src/seqvars/query/mod.rs | 2 +- src/seqvars/query/schema.rs | 79 ++++++++----------- ...ema__test__smoke_test_load@empty.json.snap | 13 ++- ...hema__test__smoke_test_load@full.json.snap | 15 +++- ...test__smoke_test_load@with_extra.json.snap | 15 +++- tests/seqvars/query/Case_1.query.json | 6 +- tests/seqvars/query/Case_1.query.json.bak | 6 +- tests/seqvars/query/dragen.query.json | 2 +- tests/seqvars/query/full.json | 2 +- tests/seqvars/query/with_extra.json | 2 +- 12 files changed, 104 insertions(+), 97 deletions(-) diff --git a/protos/varfish/v1/query_seqvars.proto b/protos/varfish/v1/query_seqvars.proto index 84e9c0a5..3c7cd3a5 100644 --- a/protos/varfish/v1/query_seqvars.proto +++ b/protos/varfish/v1/query_seqvars.proto @@ -92,22 +92,24 @@ enum GenotypeChoice { // Quality settings for one sample. message SampleQualitySettings { + // Drop whole variant on failure + bool filter_active = 1; // Name of the sample filtered for - string sample = 1; + string sample = 2; // Enable filter for sample. - bool enabled = 2; + bool enabled = 3; // Minimal coverage for het. sites - optional int32 dp_het = 3; + optional int32 dp_het = 4; // Minimal coverage for hom. sites - optional int32 dp_hom = 4; + optional int32 dp_hom = 5; // Minimal genotype quality - optional int32 gq = 5; + optional int32 gq = 6; // Minimal allele balance for het. variants - optional float ab = 6; + optional float ab = 7; // Minimal number of alternate reads - optional int32 ad = 7; + optional int32 ad = 8; // Maximal number of alternate reads - optional int32 ad_max = 8; + optional int32 ad_max = 9; } message Range { @@ -214,8 +216,6 @@ message VariantTypeOptions { bool mnv = 3; } -// TODO: I've taken the liberty of turning the Option> into just repeated since protobuf doesn't support it and there appear to be no cases where checking for 0 length wouldn't lead to the same thing - message LocusRelatedOptions { // List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict the resulting variants to repeated string gene_allowlist = 1; diff --git a/src/seqvars/query/interpreter/quality.rs b/src/seqvars/query/interpreter/quality.rs index 3870918f..93a26c2e 100644 --- a/src/seqvars/query/interpreter/quality.rs +++ b/src/seqvars/query/interpreter/quality.rs @@ -1,7 +1,7 @@ use crate::{ common::strip_gt_leading_slash, seqvars::query::schema::{ - CallInfo, CaseQuery, FailChoice, SampleQualitySettings, SequenceVariant, + CallInfo, CaseQuery, FailFilterChoice, SampleQualitySettings, SequenceVariant, }, }; @@ -15,7 +15,7 @@ pub struct PassOrNoCall { } /// Determine whether the `SequenceVariant` passes the quality filter. -/// Will return `FailChoice::Ignore` if the variant passes. +/// Will return `FailFilterChoice::Ignore` if the variant passes. pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result { let mut result = PassOrNoCall { pass: true, @@ -25,10 +25,10 @@ pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result { + FailFilterChoice::Ignore => { // ignore quality failure for sample } - FailChoice::Drop => { + FailFilterChoice::Drop => { tracing::trace!( "sample {} (call_info={:?}) in variant {:?} fails quality filter {:?}", &sample_name, @@ -39,9 +39,6 @@ pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result { - result.no_call_samples.push(sample_name.clone()); - } } } else { // no failure, all good @@ -64,7 +61,7 @@ pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result Option { +) -> Option { #[derive(PartialEq, Eq)] enum Genotype { Het, @@ -92,7 +89,7 @@ fn passes_for_sample( if let Some(dp_het) = quality_settings.dp_het { if let Some(dp) = call_info.dp { if dp < dp_het { - return Some(FailChoice::Drop); //TODO: Emily Some(quality_settings.fail); + return Some(quality_settings.filter_active); } } } @@ -105,7 +102,7 @@ fn passes_for_sample( let ab = if ab_raw > 0.5 { 1.0 - ab_raw } else { ab_raw }; let eps = 1e-6f64; if ab + eps < settings_ab as f64 { - return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); + return Some(quality_settings.filter_active); } } } @@ -113,7 +110,7 @@ fn passes_for_sample( if let Some(dp_hom) = quality_settings.dp_hom { if let Some(dp) = call_info.dp { if dp < dp_hom { - return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); + return Some(quality_settings.filter_active); } } } @@ -124,7 +121,7 @@ fn passes_for_sample( // gq if let (Some(settings_gq), Some(call_gq)) = (quality_settings.gq, call_info.quality) { if call_gq < settings_gq as f32 { - return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); + return Some(quality_settings.filter_active); } } @@ -132,14 +129,14 @@ fn passes_for_sample( // ad if let (Some(settings_ad), Some(call_ad)) = (quality_settings.ad, call_info.ad) { if call_ad < settings_ad { - return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); + return Some(quality_settings.filter_active); } } // ad_max if let (Some(settings_ad_max), Some(call_ad)) = (quality_settings.ad_max, call_info.ad) { if call_ad > settings_ad_max { - return Some(FailChoice::Drop); // TODO: Emily Some(quality_settings.fail); + return Some(quality_settings.filter_active); } } } @@ -153,7 +150,7 @@ mod test { use crate::seqvars::query::schema::{ CallInfo, CaseQuery, - FailChoice::{self, *}, + FailFilterChoice::{self, *}, SampleQualitySettings, SequenceVariant, }; @@ -162,10 +159,8 @@ mod test { #[case(Ignore, false, true, false)] #[case(Drop, true, true, false)] #[case(Drop, false, false, false)] - #[case(NoCall, true, true, false)] - #[case(NoCall, false, true, true)] fn passes( - #[case] q_fail: FailChoice, + #[case] q_fail: FailFilterChoice, #[case] should_pass: bool, #[case] expected_pass: bool, #[case] any_no_call_sample: bool, @@ -174,13 +169,13 @@ mod test { quality: vec![( String::from("sample"), SampleQualitySettings { + filter_active: q_fail, dp_het: None, dp_hom: None, gq: if should_pass { None } else { Some(40) }, ab: None, ad: None, ad_max: None, - //TODO: emily fail: q_fail, }, )] .into_iter() @@ -470,21 +465,21 @@ mod test { #[case] q_ab: Option, #[case] q_ad: Option, #[case] q_ad_max: Option, - #[case] q_fail: FailChoice, + #[case] q_fail: FailFilterChoice, #[case] c_genotype: Option<&'static str>, #[case] c_quality: Option, #[case] c_dp: Option, #[case] c_ad: Option, - #[case] expected: Option, + #[case] expected: Option, ) -> Result<(), anyhow::Error> { let settings = SampleQualitySettings { + filter_active: q_fail, dp_het: q_dp_het, dp_hom: q_dp_hom, gq: q_gq, ab: q_ab, ad: q_ad, ad_max: q_ad_max, - //TODO: emily fail: q_fail, }; let call_info = CallInfo { genotype: c_genotype.map(|s| s.to_string()), diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index 774286d0..8911fdc7 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -488,7 +488,7 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a rand::rngs::StdRng::from_entropy() }; - tracing::info!("Loading query..."); + tracing::info!("Loading query... {}", args.path_query_json); let query: schema::CaseQuery = serde_json::from_reader(std::fs::File::open(&args.path_query_json)?)?; tracing::info!( diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 5799e2e0..046d5ab5 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -19,33 +19,6 @@ pub enum RecessiveMode { CompoundRecessive, } -/// Choices for failing quality thresholds on genotypes. -#[derive( - serde::Serialize, - serde::Deserialize, - PartialEq, - Eq, - PartialOrd, - Ord, - Hash, - Debug, - Clone, - Copy, - Default, - strum::EnumIter, -)] -#[serde(rename_all = "kebab-case")] -pub enum FailChoice { - /// Ignore failure. - #[default] - Ignore, - /// Drop whole variant. - #[serde(rename = "drop-variant")] - Drop, - /// Interpret as "no-call". - NoCall, -} - /// Choice for genotype. #[derive( serde::Serialize, @@ -114,9 +87,36 @@ impl GenotypeChoice { } } +/// Choices for failing quality thresholds on genotypes. +#[derive( + serde::Serialize, + serde::Deserialize, + PartialEq, + Eq, + PartialOrd, + Ord, + Hash, + Debug, + Clone, + Copy, + Default, + strum::EnumIter, +)] +#[serde(rename_all = "kebab-case")] +pub enum FailFilterChoice { + /// Ignore failure. + #[default] + Ignore, + /// Drop whole variant. + #[serde(rename = "drop-variant")] + Drop, +} + /// Quality settings for one sample. #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] pub struct SampleQualitySettings { + /// Weather to ignore or drop the whole variant on failure + pub filter_active: FailFilterChoice, /// Minimal coverage for het. sites. pub dp_het: Option, /// Minimal coverage for hom. sites. @@ -134,13 +134,17 @@ pub struct SampleQualitySettings { impl From for SampleQualitySettings { fn from(old: crate::pbs::seqvars::SampleQualitySettings) -> Self { Self { + filter_active: if old.filter_active { + FailFilterChoice::Drop + } else { + FailFilterChoice::Ignore + }, dp_het: old.dp_het, dp_hom: old.dp_hom, gq: old.gq, ab: old.ab, ad: old.ad, ad_max: old.ad_max, - //fail: FailChoice::iter().nth(old.fail as usize).unwrap(), } } } @@ -330,7 +334,6 @@ impl From for HelixMtDbOptions { } } - serde_with::with_prefix!(prefix_gnomad_exomes "gnomad_exomes_"); serde_with::with_prefix!(prefix_gnomad_genomes "gnomad_genomes_"); serde_with::with_prefix!(prefix_gnomad_mt "gnomat_mt_"); @@ -339,7 +342,6 @@ serde_with::with_prefix!(prefix_gnomad_mt "gnomat_mt_"); pub struct PopulationFrequencyOptions { #[serde(flatten, with = "prefix_gnomad_exomes")] pub gnomad_exomes: GnomadNuclearOptions, - // TODO emily: flatten right #[serde(flatten, with = "prefix_gnomad_genomes")] pub gnomad_genomes: GnomadNuclearOptions, // gnomAD-MT filter @@ -479,16 +481,10 @@ pub struct CaseQuery { /// Genotype choice for each individual. pub genotype: indexmap::IndexMap>, - - /// TODO: comment #[serde(flatten)] pub transcript: TranscriptOptions, - - /// TODO: comment #[serde(flatten, with = "prefix_var_type")] pub var_type: VariantTypeOptions, - - /// TODO comment #[serde(flatten)] pub locus: LocusRelatedOptions, @@ -503,7 +499,7 @@ pub struct CaseQuery { #[serde(flatten)] pub population_frequency: PopulationFrequencyOptions, - /// Inhouse related filter options. TODO BETTER COMMENT + /// Inhouse related filter options. #[serde(flatten, with = "prefix_inhouse")] pub inhouse: InhouseFrequencyOptions, } @@ -633,7 +629,6 @@ pub struct CallInfo { pub phasing_id: Option, } -// serde_with::with_prefix!(prefix_gnomad "gnomad_"); < already declared earlier #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] pub struct Gnomads { /// Number of alleles in gnomAD exomes (not for chrMT). @@ -667,8 +662,7 @@ pub struct HelixMtDBs { pub het: i32, } - -serde_with::with_prefix!(prefix_gnomad "gnomad_"); +serde_with::with_prefix!(prefix_gnomad "gnomad_"); #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] pub struct PopulationFrequencies { @@ -678,7 +672,6 @@ pub struct PopulationFrequencies { pub helixmtdb: HelixMtDBs, } -// serde_with::with_prefix!(prefix_inhouse "inhouse_"); < already declared earlier #[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] pub struct InhouseFrequencies { /// Number of in-house alleles (also for chrMT). @@ -713,7 +706,6 @@ pub struct SequenceVariant { /// Mapping of sample to genotype information for the SV. pub call_info: indexmap::IndexMap, - /// TODO: comment #[serde(flatten)] pub population_frequencies: PopulationFrequencies, @@ -916,8 +908,7 @@ impl SequenceVariant { if self.population_frequencies.gnomad.genomes_an == 0 { return 0f32; } - // TODO, emily: is this code hot then check v - // This code looks like it could result in some missed oppportunity for optimisation, is it really necessary for hom het and hemi to ever be floats? + let an = self.population_frequencies.gnomad.genomes_an as f32; let hom = self.population_frequencies.gnomad.genomes_hom as f32; let het = self.population_frequencies.gnomad.genomes_het as f32; diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap index 8bf87bff..30f153aa 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap @@ -70,15 +70,22 @@ clinvar_include_likely_pathogenic: true clinvar_include_uncertain_significance: true clinvar_include_conflicting_classifications: true gnomad_exomes_enabled: false -gnomad_genomes_enabled: false -gnomad_exomes_frequency: ~ +gnomad_exomes_carriers: ~ gnomad_exomes_heterozygous: ~ gnomad_exomes_homozygous: ~ gnomad_exomes_hemizygous: ~ -gnomad_genomes_frequency: ~ +gnomad_exomes_frequency: ~ +gnomad_genomes_enabled: false +gnomad_genomes_carriers: ~ gnomad_genomes_heterozygous: ~ gnomad_genomes_homozygous: ~ gnomad_genomes_hemizygous: ~ +gnomad_genomes_frequency: ~ +gnomat_mt_enabled: false +gnomat_mt_carriers: ~ +gnomat_mt_heteroplasmic: ~ +gnomat_mt_homoplasmic: ~ +gnomat_mt_frequency: ~ helixmtdb_enabled: false helixmtdb_frequency: ~ helixmtdb_heteroplasmic: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap index 218169ac..8cfaefe6 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap @@ -54,13 +54,13 @@ consequences: - upstream_gene_variant quality: sample: + filter_active: drop-variant dp_het: 10 dp_hom: 5 gq: 10 ab: 0.2 ad: 3 ad_max: ~ - fail: drop-variant genotype: sample: het transcripts_coding: true @@ -79,15 +79,22 @@ clinvar_include_likely_pathogenic: true clinvar_include_uncertain_significance: false clinvar_include_conflicting_classifications: true gnomad_exomes_enabled: true -gnomad_genomes_enabled: true -gnomad_exomes_frequency: 0.002 +gnomad_exomes_carriers: ~ gnomad_exomes_heterozygous: 20 gnomad_exomes_homozygous: 0 gnomad_exomes_hemizygous: ~ -gnomad_genomes_frequency: 0.002 +gnomad_exomes_frequency: 0.002 +gnomad_genomes_enabled: true +gnomad_genomes_carriers: ~ gnomad_genomes_heterozygous: 4 gnomad_genomes_homozygous: 0 gnomad_genomes_hemizygous: ~ +gnomad_genomes_frequency: 0.002 +gnomat_mt_enabled: false +gnomat_mt_carriers: ~ +gnomat_mt_heteroplasmic: ~ +gnomat_mt_homoplasmic: ~ +gnomat_mt_frequency: ~ helixmtdb_enabled: true helixmtdb_frequency: 0.01 helixmtdb_heteroplasmic: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap index 218169ac..8cfaefe6 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap @@ -54,13 +54,13 @@ consequences: - upstream_gene_variant quality: sample: + filter_active: drop-variant dp_het: 10 dp_hom: 5 gq: 10 ab: 0.2 ad: 3 ad_max: ~ - fail: drop-variant genotype: sample: het transcripts_coding: true @@ -79,15 +79,22 @@ clinvar_include_likely_pathogenic: true clinvar_include_uncertain_significance: false clinvar_include_conflicting_classifications: true gnomad_exomes_enabled: true -gnomad_genomes_enabled: true -gnomad_exomes_frequency: 0.002 +gnomad_exomes_carriers: ~ gnomad_exomes_heterozygous: 20 gnomad_exomes_homozygous: 0 gnomad_exomes_hemizygous: ~ -gnomad_genomes_frequency: 0.002 +gnomad_exomes_frequency: 0.002 +gnomad_genomes_enabled: true +gnomad_genomes_carriers: ~ gnomad_genomes_heterozygous: 4 gnomad_genomes_homozygous: 0 gnomad_genomes_hemizygous: ~ +gnomad_genomes_frequency: 0.002 +gnomat_mt_enabled: false +gnomat_mt_carriers: ~ +gnomat_mt_heteroplasmic: ~ +gnomat_mt_homoplasmic: ~ +gnomat_mt_frequency: ~ helixmtdb_enabled: true helixmtdb_frequency: 0.01 helixmtdb_heteroplasmic: ~ diff --git a/tests/seqvars/query/Case_1.query.json b/tests/seqvars/query/Case_1.query.json index 02d583db..04491f6a 100644 --- a/tests/seqvars/query/Case_1.query.json +++ b/tests/seqvars/query/Case_1.query.json @@ -62,7 +62,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" }, "Case_1_father-N1-DNA1-WGS1": { "dp_het": 10, @@ -71,7 +71,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" }, "Case_1_mother-N1-DNA1-WGS1": { "dp_het": 10, @@ -80,7 +80,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" } }, "genotype": { diff --git a/tests/seqvars/query/Case_1.query.json.bak b/tests/seqvars/query/Case_1.query.json.bak index 61299783..dc2a12a1 100644 --- a/tests/seqvars/query/Case_1.query.json.bak +++ b/tests/seqvars/query/Case_1.query.json.bak @@ -62,7 +62,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" }, "Case_1_father-N1-DNA1-WGS1": { "dp_het": 10, @@ -71,7 +71,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" }, "Case_1_mother-N1-DNA1-WGS1": { "dp_het": 10, @@ -80,7 +80,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" } }, "genotype": { diff --git a/tests/seqvars/query/dragen.query.json b/tests/seqvars/query/dragen.query.json index 568e5e3d..6b1c59cf 100644 --- a/tests/seqvars/query/dragen.query.json +++ b/tests/seqvars/query/dragen.query.json @@ -62,7 +62,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" } }, "genotype": { diff --git a/tests/seqvars/query/full.json b/tests/seqvars/query/full.json index 743cd7d9..d6bfe95d 100644 --- a/tests/seqvars/query/full.json +++ b/tests/seqvars/query/full.json @@ -46,7 +46,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" } }, "genotype": { diff --git a/tests/seqvars/query/with_extra.json b/tests/seqvars/query/with_extra.json index 1a9d62fb..5e15a17d 100644 --- a/tests/seqvars/query/with_extra.json +++ b/tests/seqvars/query/with_extra.json @@ -47,7 +47,7 @@ "ab": 0.2, "ad": 3, "ad_max": null, - "fail": "drop-variant" + "filter_active": "drop-variant" } }, "genotype": { From 70d7c94b106dd7c2d97b1ec1faea33539701775b Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 26 Jul 2024 07:31:32 +0200 Subject: [PATCH 15/23] implement pbjson loading and fix schema --- src/seqvars/query/mod.rs | 11 +++- src/seqvars/query/schema.rs | 14 ++-- ...test__smoke_test_load@with_extra.json.snap | 52 ++++----------- tests/seqvars/query/Case_1.query.json | 2 +- tests/seqvars/query/dragen.query.json | 2 +- tests/seqvars/query/full.json | 64 ++++++++++++------- tests/seqvars/query/with_extra.json | 20 ++---- 7 files changed, 78 insertions(+), 87 deletions(-) diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index 8911fdc7..417023e4 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -489,8 +489,15 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a }; tracing::info!("Loading query... {}", args.path_query_json); - let query: schema::CaseQuery = - serde_json::from_reader(std::fs::File::open(&args.path_query_json)?)?; + let query: schema::CaseQuery = match serde_json::from_reader(std::fs::File::open(&args.path_query_json)?){ + Ok(query) => query, + Err(_) => + { + let query: crate::pbs::seqvars::CaseQuery = serde_json::from_reader(std::fs::File::open(&args.path_query_json)?)?; + CaseQuery::from(query) + }, + }; + tracing::info!( "... done loading query = {}", &serde_json::to_string(&query)? diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 046d5ab5..0cc67192 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -504,6 +504,7 @@ pub struct CaseQuery { pub inhouse: InhouseFrequencyOptions, } +// TODO: emily turn into try-from impl From for CaseQuery { fn from(other: crate::pbs::seqvars::CaseQuery) -> Self { let consequences: Vec<_> = other @@ -967,13 +968,16 @@ pub mod test { } #[rstest] - #[case("tests/seqvars/query/empty.json")] - #[case("tests/seqvars/query/full.json")] - #[case("tests/seqvars/query/with_extra.json")] + #[case("tests/seqvars/query/empty")] + #[case("tests/seqvars/query/full")] + #[case("tests/seqvars/query/with_extra")] pub fn smoke_test_load(#[case] path_input: &str) -> Result<(), anyhow::Error> { - mehari::common::set_snapshot_suffix!("{}", path_input.split('/').last().unwrap()); + mehari::common::set_snapshot_suffix!("{}.json", path_input.split('/').last().unwrap()); + + let query: super::CaseQuery = serde_json::from_reader(std::fs::File::open(format!("{}.json", path_input))?)?; + println!("{:#?}", query); - let query: super::CaseQuery = serde_json::from_reader(std::fs::File::open(path_input)?)?; +// let _: crate::pbs::seqvars::CaseQuery = serde_json::from_reader(std::fs::File::open(format!("{}-pb.json", path_input))?)?; insta::assert_yaml_snapshot!(&query); diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap index 8cfaefe6..b7b4762a 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap @@ -3,54 +3,28 @@ source: src/seqvars/query/schema.rs expression: "&query" --- consequences: - - chromosome_number_variation + - 3_prime_UTR_variant + - 5_prime_UTR_variant + - disruptive_inframe_deletion + - disruptive_inframe_insertion + - downstream_gene_variant - exon_loss_variant + - feature_truncation - frameshift_variant - - rare_amino_acid_variant + - conservative_inframe_deletion + - conservative_inframe_insertion + - missense_variant + - non_coding_transcript_exon_variant + - non_coding_transcript_intron_variant - splice_acceptor_variant - splice_donor_variant + - splice_region_variant - start_lost - stop_gained - stop_lost - - transcript_ablation - - 3_prime_UTR_truncation - - 5_prime_UTR_truncation - - conservative_inframe_deletion - - conservative_inframe_insertion - - disruptive_inframe_deletion - - disruptive_inframe_insertion - - missense_variant - - regulatory_region_ablation - - splice_region_variant - - TFBS_ablation - - 5_prime_UTR_premature_start_codon_gain_variant - - initiator_codon_variant - - start_retained - stop_retained_variant - synonymous_variant - - 3_prime_UTR_variant - - 5_prime_UTR_variant - - coding_sequence_variant - - conserved_intergenic_variant - - conserved_intron_variant - - downstream_gene_variant - - exon_variant - - feature_elongation - - feature_truncation - - gene_variant - - intergenic_variant - - intron_variant - - mature_miRNA_variant - - miRNA - - NMD_transcript_variant - - non_coding_transcript_exon_variant - - non_coding_transcript_intron_variant - - regulatory_region_amplification - - regulatory_region_variant - - TF_binding_site_variant - - TFBS_amplification - - transcript_amplification - - transcript_variant + - transcript_ablation - upstream_gene_variant quality: sample: diff --git a/tests/seqvars/query/Case_1.query.json b/tests/seqvars/query/Case_1.query.json index 04491f6a..e841f1ca 100644 --- a/tests/seqvars/query/Case_1.query.json +++ b/tests/seqvars/query/Case_1.query.json @@ -1,5 +1,5 @@ { - "effects": [ + "consequences": [ "chromosome_number_variation", "exon_loss_variant", "frameshift_variant", diff --git a/tests/seqvars/query/dragen.query.json b/tests/seqvars/query/dragen.query.json index 6b1c59cf..1e6b33f4 100644 --- a/tests/seqvars/query/dragen.query.json +++ b/tests/seqvars/query/dragen.query.json @@ -1,5 +1,5 @@ { - "effects": [ + "consequences": [ "chromosome_number_variation", "exon_loss_variant", "frameshift_variant", diff --git a/tests/seqvars/query/full.json b/tests/seqvars/query/full.json index d6bfe95d..b5bc0812 100644 --- a/tests/seqvars/query/full.json +++ b/tests/seqvars/query/full.json @@ -1,37 +1,53 @@ { - "effects": [ - "3_prime_UTR_exon_variant", - "3_prime_UTR_intron_variant", - "5_prime_UTR_exon_variant", - "5_prime_UTR_intron_variant", - "coding_transcript_intron_variant", - "complex_substitution", - "direct_tandem_duplication", - "disruptive_inframe_deletion", - "disruptive_inframe_insertion", - "downstream_gene_variant", + "consequences": [ + "chromosome_number_variation", "exon_loss_variant", - "feature_truncation", - "frameshift_elongation", - "frameshift_truncation", "frameshift_variant", - "inframe_deletion", - "inframe_insertion", - "internal_feature_elongation", - "missense_variant", - "mnv", - "non_coding_transcript_exon_variant", - "non_coding_transcript_intron_variant", + "rare_amino_acid_variant", "splice_acceptor_variant", "splice_donor_variant", - "splice_region_variant", "start_lost", "stop_gained", "stop_lost", + "transcript_ablation", + "3_prime_UTR_truncation", + "5_prime_UTR_truncation", + "conservative_inframe_deletion", + "conservative_inframe_insertion", + "disruptive_inframe_deletion", + "disruptive_inframe_insertion", + "missense_variant", + "regulatory_region_ablation", + "splice_region_variant", + "TFBS_ablation", + "5_prime_UTR_premature_start_codon_gain_variant", + "initiator_codon_variant", + "start_retained", "stop_retained_variant", - "structural_variant", "synonymous_variant", - "transcript_ablation", + "3_prime_UTR_variant", + "5_prime_UTR_variant", + "coding_sequence_variant", + "conserved_intergenic_variant", + "conserved_intron_variant", + "downstream_gene_variant", + "exon_variant", + "feature_elongation", + "feature_truncation", + "gene_variant", + "intergenic_variant", + "intron_variant", + "mature_miRNA_variant", + "miRNA", + "NMD_transcript_variant", + "non_coding_transcript_exon_variant", + "non_coding_transcript_intron_variant", + "regulatory_region_amplification", + "regulatory_region_variant", + "TF_binding_site_variant", + "TFBS_amplification", + "transcript_amplification", + "transcript_variant", "upstream_gene_variant" ], "gnomad_exomes_enabled": true, diff --git a/tests/seqvars/query/with_extra.json b/tests/seqvars/query/with_extra.json index 5e15a17d..1a9a5367 100644 --- a/tests/seqvars/query/with_extra.json +++ b/tests/seqvars/query/with_extra.json @@ -1,26 +1,17 @@ { "__some_extra__": "42", - "effects": [ - "3_prime_UTR_exon_variant", - "3_prime_UTR_intron_variant", - "5_prime_UTR_exon_variant", - "5_prime_UTR_intron_variant", - "coding_transcript_intron_variant", - "complex_substitution", - "direct_tandem_duplication", + "consequences": [ + "3_prime_UTR_variant", + "5_prime_UTR_variant", "disruptive_inframe_deletion", "disruptive_inframe_insertion", "downstream_gene_variant", "exon_loss_variant", "feature_truncation", - "frameshift_elongation", - "frameshift_truncation", "frameshift_variant", - "inframe_deletion", - "inframe_insertion", - "internal_feature_elongation", + "conservative_inframe_deletion", + "conservative_inframe_insertion", "missense_variant", - "mnv", "non_coding_transcript_exon_variant", "non_coding_transcript_intron_variant", "splice_acceptor_variant", @@ -30,7 +21,6 @@ "stop_gained", "stop_lost", "stop_retained_variant", - "structural_variant", "synonymous_variant", "transcript_ablation", "upstream_gene_variant" From 28a99596baaa4884d9dabab1716cbff16ae6a2f1 Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 26 Jul 2024 08:36:21 +0200 Subject: [PATCH 16/23] implement tests for pbjson loading of query --- protos/varfish/v1/query_seqvars.proto | 2 +- src/seqvars/query/mod.rs | 17 +-- src/seqvars/query/schema.rs | 60 +++++---- ...hema__test__smoke_test_load@full.json.snap | 2 +- tests/seqvars/query/empty-pb.json | 53 ++++++++ tests/seqvars/query/full-pb.json | 126 ++++++++++++++++++ tests/seqvars/query/full.json | 2 +- 7 files changed, 223 insertions(+), 39 deletions(-) create mode 100644 tests/seqvars/query/empty-pb.json create mode 100644 tests/seqvars/query/full-pb.json diff --git a/protos/varfish/v1/query_seqvars.proto b/protos/varfish/v1/query_seqvars.proto index 3c7cd3a5..c5f4941d 100644 --- a/protos/varfish/v1/query_seqvars.proto +++ b/protos/varfish/v1/query_seqvars.proto @@ -220,7 +220,7 @@ message LocusRelatedOptions { // List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict the resulting variants to repeated string gene_allowlist = 1; // List of genomic regions to limit restrict the resulting variants to - repeated GenomicRegion genomic_region = 2; + repeated GenomicRegion genomic_regions = 2; } message TranscriptOptions { diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index 417023e4..26442990 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -489,14 +489,15 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a }; tracing::info!("Loading query... {}", args.path_query_json); - let query: schema::CaseQuery = match serde_json::from_reader(std::fs::File::open(&args.path_query_json)?){ - Ok(query) => query, - Err(_) => - { - let query: crate::pbs::seqvars::CaseQuery = serde_json::from_reader(std::fs::File::open(&args.path_query_json)?)?; - CaseQuery::from(query) - }, - }; + let query: schema::CaseQuery = + match serde_json::from_reader(std::fs::File::open(&args.path_query_json)?) { + Ok(query) => query, + Err(_) => { + let query: crate::pbs::seqvars::CaseQuery = + serde_json::from_reader(std::fs::File::open(&args.path_query_json)?)?; + CaseQuery::from(query) + } + }; tracing::info!( "... done loading query = {}", diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs index 0cc67192..0329b19b 100644 --- a/src/seqvars/query/schema.rs +++ b/src/seqvars/query/schema.rs @@ -356,20 +356,20 @@ impl From for PopulationFrequen Self { gnomad_exomes: other .gnomad_exomes - .expect("missing field in PopulationFrequencyOptions: gnomad_exomes") - .into(), + .map(GnomadNuclearOptions::from) + .unwrap_or_default(), gnomad_genomes: other .gnomad_genomes - .expect("missing field in PopulationFrequencyOptions: gnomad_genomes") - .into(), + .map(GnomadNuclearOptions::from) + .unwrap_or_default(), gnomad_mt: other .gnomad_mt - .expect("missing field in PopulationFrequencyOptions: gnomad_mt") - .into(), + .map(GnomadMitochondrialOptions::from) + .unwrap_or_default(), helixmtdb: other .helixmtdb - .expect("missing ield in PopulationFrequencyOptions: helixmtdb") - .into(), + .map(HelixMtDbOptions::from) + .unwrap_or_default(), } } } @@ -423,11 +423,11 @@ impl From for LocusRelatedOptions { None => None, _ => Some(other.gene_allowlist), }, - genomic_regions: match other.genomic_region.first() { + genomic_regions: match other.genomic_regions.first() { None => None, _ => Some( other - .genomic_region + .genomic_regions .iter() .map(std::borrow::ToOwned::to_owned) .map(GenomicRegion::from) @@ -504,7 +504,6 @@ pub struct CaseQuery { pub inhouse: InhouseFrequencyOptions, } -// TODO: emily turn into try-from impl From for CaseQuery { fn from(other: crate::pbs::seqvars::CaseQuery) -> Self { let consequences: Vec<_> = other @@ -526,29 +525,29 @@ impl From for CaseQuery { .iter() .map(|(x, y)| (x.to_owned(), GenotypeChoice::iter().nth(*y as usize))) .collect(), - // Protobuf allows retroactively declaring fields optional so we need to enforce presence here + transcript: other .transcript - .expect("missing field in CaseQuery: transcript") - .into(), + .map(TranscriptOptions::from) + .unwrap_or_default(), var_type: other .var_type - .expect("missing field in CaseQuery: var_type") - .into(), + .map(VariantTypeOptions::from) + .unwrap_or_default(), locus: other .locus - .expect("missing field in CaseQuery: locus") - .into(), - require_in_clinvar: other.clinvar.is_some(), - clinvar: other.clinvar.unwrap_or_default().into(), + .map(LocusRelatedOptions::from) + .unwrap_or_default(), + require_in_clinvar: other.clinvar.clone().unwrap_or_default().require_in_clinvar, + clinvar: other.clinvar.map(ClinVarOptions::from).unwrap_or_default(), population_frequency: other .population_frequency - .expect("Missing field in CaseQuery: population_frequency") - .into(), + .map(PopulationFrequencyOptions::from) + .unwrap_or_default(), inhouse: other .inhouse - .expect("Missing field in CaseQuery: inhouse") - .into(), + .map(InhouseFrequencyOptions::from) + .unwrap_or_default(), } } } @@ -974,11 +973,16 @@ pub mod test { pub fn smoke_test_load(#[case] path_input: &str) -> Result<(), anyhow::Error> { mehari::common::set_snapshot_suffix!("{}.json", path_input.split('/').last().unwrap()); - let query: super::CaseQuery = serde_json::from_reader(std::fs::File::open(format!("{}.json", path_input))?)?; - println!("{:#?}", query); - -// let _: crate::pbs::seqvars::CaseQuery = serde_json::from_reader(std::fs::File::open(format!("{}-pb.json", path_input))?)?; + let query: super::CaseQuery = + serde_json::from_reader(std::fs::File::open(format!("{}.json", path_input))?)?; + if !path_input.contains("with_extra") { + // Check if pbjson loading yields same result + let query_pb: crate::pbs::seqvars::CaseQuery = + serde_json::from_reader(std::fs::File::open(format!("{}-pb.json", path_input))?)?; + let query_pb_conv = super::CaseQuery::from(query_pb); + assert_eq!(query, query_pb_conv); + } insta::assert_yaml_snapshot!(&query); Ok(()) diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap index 8cfaefe6..4129328d 100644 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap +++ b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap @@ -69,7 +69,7 @@ max_exon_dist: 100 var_type_snv: true var_type_indel: true var_type_mnv: true -gene_allowlist: [] +gene_allowlist: ~ genomic_regions: ~ require_in_clinvar: false clinvar_include_benign: false diff --git a/tests/seqvars/query/empty-pb.json b/tests/seqvars/query/empty-pb.json new file mode 100644 index 00000000..1a8da685 --- /dev/null +++ b/tests/seqvars/query/empty-pb.json @@ -0,0 +1,53 @@ +{ + "consequences": [ + "ChromosomeNumberVariation", + "ExonLossVariant", + "FrameshiftVariant", + "RareAminoAcidVariant", + "SpliceAcceptorVariant", + "SpliceDonorVariant", + "StartLost", + "StopGained", + "StopLost", + "TranscriptAblation", + "ThreePrimeUtrTruncation", + "FivePrimeUtrTruncaction", + "ConservativeInframeDeletion", + "ConservativeInframeInsertion", + "DisruptiveInframeDeletion", + "DisruptiveInframeInsertion", + "MissenseVariant", + "RegulatoryRegionAblation", + "SpliceRegionVariant", + "TbfsAblation", + "FivePrimeUtrPrematureStartCodonGainVariant", + "InitiatorCodonVariant", + "StartRetained", + "StopRetainedVariant", + "SynonymousVariant", + "ThreePrimeUtrVariant", + "FivePrimeUtrVariant", + "CodingSequenceVariant", + "ConservedIntergenicVariant", + "ConservedIntronVariant", + "DownstreamGeneVariant", + "ExonVariant", + "FeatureElongation", + "FeatureTruncation", + "GeneVariant", + "IntergenicVariant", + "IntronVariant", + "MatureMirnaVariant", + "Mirna", + "NmdTranscriptVariant", + "NonCodingTranscriptExonVariant", + "NonCodingTranscriptIntronVariant", + "RegulatoryRegionAmplification", + "RegulatoryRegionVariant", + "TfBindingSiteVariant", + "TfbsAmplification", + "TranscriptAmplification", + "TranscriptVariant", + "UpstreamGeneVariant" + ] +} diff --git a/tests/seqvars/query/full-pb.json b/tests/seqvars/query/full-pb.json new file mode 100644 index 00000000..21e8faa9 --- /dev/null +++ b/tests/seqvars/query/full-pb.json @@ -0,0 +1,126 @@ +{ + "consequences": [ + "ChromosomeNumberVariation", + "ExonLossVariant", + "FrameshiftVariant", + "RareAminoAcidVariant", + "SpliceAcceptorVariant", + "SpliceDonorVariant", + "StartLost", + "StopGained", + "StopLost", + "TranscriptAblation", + "ThreePrimeUtrTruncation", + "FivePrimeUtrTruncaction", + "ConservativeInframeDeletion", + "ConservativeInframeInsertion", + "DisruptiveInframeDeletion", + "DisruptiveInframeInsertion", + "MissenseVariant", + "RegulatoryRegionAblation", + "SpliceRegionVariant", + "TbfsAblation", + "FivePrimeUtrPrematureStartCodonGainVariant", + "InitiatorCodonVariant", + "StartRetained", + "StopRetainedVariant", + "SynonymousVariant", + "ThreePrimeUtrVariant", + "FivePrimeUtrVariant", + "CodingSequenceVariant", + "ConservedIntergenicVariant", + "ConservedIntronVariant", + "DownstreamGeneVariant", + "ExonVariant", + "FeatureElongation", + "FeatureTruncation", + "GeneVariant", + "IntergenicVariant", + "IntronVariant", + "MatureMirnaVariant", + "Mirna", + "NmdTranscriptVariant", + "NonCodingTranscriptExonVariant", + "NonCodingTranscriptIntronVariant", + "RegulatoryRegionAmplification", + "RegulatoryRegionVariant", + "TfBindingSiteVariant", + "TfbsAmplification", + "TranscriptAmplification", + "TranscriptVariant", + "UpstreamGeneVariant" + ], + "population_frequency": { + "gnomad_exomes": { + "enabled": true, + "allele_frequency": 0.002, + "heterozygous": 20, + "homozygous": 0, + "hemizygous": null + }, + "gnomad_genomes": { + "enabled": true, + "allele_frequency": 0.002, + "heterozygous": 4, + "homozygous": 0, + "hemizygous": null + }, + "gnomad_mt": { + "enabled": false, + "allele_frequency": null, + "heteroplasmic": null, + "homoplasmic": null, + "carriers": null + }, + "helixmtdb": { + "enabled": true, + "frequency": 0.01, + "heteroplasmic": null, + "homoplasmic": null + } + }, + "inhouse": { + "enabled": true, + "carriers": 20, + "heterozygous": null, + "homozygous": null, + "hemizygous": null + }, + "quality": { + "sample": { + "dp_het": 10, + "dp_hom": 5, + "gq": 10, + "ab": 0.2, + "ad": 3, + "ad_max": null, + "filter_active": true + } + }, + "genotype": { + "sample": "Het" + }, + "clinvar": { + "require_in_clinvar": false, + "include_benign": false, + "include_pathogenic": true, + "include_likely_benign": false, + "include_likely_pathogenic": true, + "include_uncertain_significance": false, + "include_conflicting_classifications": true + }, + "transcript": { + "transcripts_coding": true, + "transcripts_noncoding": true, + "max_exon_dist": 100 + }, + "var_type": { + "snv": true, + "indel": true, + "mnv": true + }, + "locus": { + "gene_allowlist": [], + "genomic_regions": [] + } +} diff --git a/tests/seqvars/query/full.json b/tests/seqvars/query/full.json index b5bc0812..8c85c4e0 100644 --- a/tests/seqvars/query/full.json +++ b/tests/seqvars/query/full.json @@ -75,7 +75,7 @@ "var_type_indel": true, "var_type_mnv": true, "max_exon_dist": 100, - "gene_allowlist": [], + "gene_allowlist": null, "genomic_regions": null, "require_in_clinvar": false, "clinvar_include_benign": false, From 92ffa3b9f59063cd5e8909a2a42161ef1a6edc25 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Fri, 2 Aug 2024 15:13:27 +0200 Subject: [PATCH 17/23] wip --- Cargo.lock | 485 +++- Cargo.toml | 10 +- build.rs | 2 +- protos/varfish/v1/query_seqvars.proto | 251 -- protos/varfish/v1/seqvars/query.proto | 341 +++ protos/varfish/v1/worker.proto | 32 +- src/common/mod.rs | 14 +- src/pbs.rs | 23 +- src/seqvars/ingest/header.rs | 32 + src/seqvars/ingest/mod.rs | 6 +- src/seqvars/query/annonars.rs | 48 +- src/seqvars/query/interpreter/clinvar.rs | 36 +- src/seqvars/query/interpreter/consequences.rs | 52 +- src/seqvars/query/interpreter/frequency.rs | 290 ++- .../query/interpreter/genes_allowlist.rs | 66 +- src/seqvars/query/interpreter/genotype.rs | 423 ++-- src/seqvars/query/interpreter/mod.rs | 12 +- src/seqvars/query/interpreter/quality.rs | 441 ++-- .../query/interpreter/regions_allowlist.rs | 47 +- src/seqvars/query/mod.rs | 237 +- src/seqvars/query/output/call_related.rs | 10 +- src/seqvars/query/output/gene_related.rs | 8 +- src/seqvars/query/output/variant_related.rs | 50 +- src/seqvars/query/schema.rs | 1016 -------- src/seqvars/query/schema/data.rs | 714 ++++++ src/seqvars/query/schema/mod.rs | 4 + src/seqvars/query/schema/query.rs | 2197 +++++++++++++++++ ...riant_from_vcf@Case_1.ingested.vcf-10.snap | 156 -- ...riant_from_vcf@Case_1.ingested.vcf-11.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-12.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-13.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-14.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-15.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-16.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-17.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-18.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-19.snap | 43 - ...ariant_from_vcf@Case_1.ingested.vcf-2.snap | 155 -- ...riant_from_vcf@Case_1.ingested.vcf-20.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-21.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-22.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-23.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-24.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-25.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-26.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-27.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-28.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-29.snap | 43 - ...ariant_from_vcf@Case_1.ingested.vcf-3.snap | 155 -- ...riant_from_vcf@Case_1.ingested.vcf-30.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-31.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-32.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-33.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-34.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-35.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-36.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-37.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-38.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-39.snap | 43 - ...ariant_from_vcf@Case_1.ingested.vcf-4.snap | 155 -- ...riant_from_vcf@Case_1.ingested.vcf-40.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-41.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-42.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-43.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-44.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-45.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-46.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-47.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-48.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-49.snap | 43 - ...ariant_from_vcf@Case_1.ingested.vcf-5.snap | 156 -- ...riant_from_vcf@Case_1.ingested.vcf-50.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-51.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-52.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-53.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-54.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-55.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-56.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-57.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-58.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-59.snap | 43 - ...ariant_from_vcf@Case_1.ingested.vcf-6.snap | 155 -- ...riant_from_vcf@Case_1.ingested.vcf-60.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-61.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-62.snap | 43 - ...riant_from_vcf@Case_1.ingested.vcf-63.snap | 43 - ...ariant_from_vcf@Case_1.ingested.vcf-7.snap | 155 -- ...ariant_from_vcf@Case_1.ingested.vcf-8.snap | 155 -- ...ariant_from_vcf@Case_1.ingested.vcf-9.snap | 155 -- ..._variant_from_vcf@Case_1.ingested.vcf.snap | 167 -- ...ariant_from_vcf@dragen.ingested.vcf-2.snap | 31 - ..._variant_from_vcf@dragen.ingested.vcf.snap | 143 -- ...ema__test__smoke_test_load@empty.json.snap | 97 - ...hema__test__smoke_test_load@full.json.snap | 106 - ...test__smoke_test_load@with_extra.json.snap | 80 - ..._test__smoke_test@Case_1.ingested.vcf.snap | 64 - ..._test__smoke_test@dragen.ingested.vcf.snap | 7 - src/seqvars/query/sorting.rs | 22 +- src/strucvars/query/mod.rs | 11 +- 99 files changed, 4603 insertions(+), 6648 deletions(-) delete mode 100644 protos/varfish/v1/query_seqvars.proto create mode 100644 protos/varfish/v1/seqvars/query.proto delete mode 100644 src/seqvars/query/schema.rs create mode 100644 src/seqvars/query/schema/data.rs create mode 100644 src/seqvars/query/schema/mod.rs create mode 100644 src/seqvars/query/schema/query.rs delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@Case_1.ingested.vcf.snap delete mode 100644 src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@dragen.ingested.vcf.snap diff --git a/Cargo.lock b/Cargo.lock index 7c847829..ea229200 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.7.0" +version = "4.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6316df3fa569627c98b12557a8b6ff0674e5be4bb9b5e4ae2550ddb4964ed6" +checksum = "1988c02af8d2b718c05bc4aeb6a66395b7cdf32858c2c71131e5637a8c05a9ff" dependencies = [ "actix-codec", "actix-http", @@ -270,14 +270,14 @@ dependencies = [ [[package]] name = "annonars" -version = "0.39.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37532e1e083ca6dcc0a1420ad7d8b718c78103d325222749d8d7091237d19aaf" +checksum = "8f1a0363fc4a6c133dedd77510768c1292da2aa915054db1e5e4436732997efe" dependencies = [ "actix-web", "anyhow", "bgzip", - "bio", + "bio 2.0.1", "biocommons-bioutils", "boolvec", "byteorder", @@ -293,16 +293,16 @@ dependencies = [ "indicatif", "itertools 0.13.0", "log", - "noodles", - "pbjson", - "pbjson-build", - "pbjson-types", - "prost", - "prost-build", + "noodles 0.77.0", + "pbjson 0.7.0", + "pbjson-build 0.7.0", + "pbjson-types 0.7.0", + "prost 0.13.1", + "prost-build 0.13.1", "rayon", "rocksdb", "rocksdb-utils-lookup", - "rustc-hash", + "rustc-hash 2.0.0", "serde", "serde_json", "serde_with", @@ -1027,7 +1027,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", "syn 2.0.66", ] @@ -1041,7 +1041,7 @@ dependencies = [ "anyhow", "approx", "bio-types", - "bit-set", + "bit-set 0.5.3", "bv", "bytecount", "csv", @@ -1057,7 +1057,7 @@ dependencies = [ "newtype_derive", "num-integer", "num-traits", - "ordered-float", + "ordered-float 3.9.2", "petgraph", "rand", "regex", @@ -1071,6 +1071,45 @@ dependencies = [ "vec_map", ] +[[package]] +name = "bio" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cbd545253762ecf9ef741f2c49f07c06a0ce4d041d74ee9c3f1ce0e2d5446e" +dependencies = [ + "anyhow", + "approx", + "bio-types", + "bit-set 0.8.0", + "bv", + "bytecount", + "csv", + "custom_derive", + "editdistancek", + "enum-map", + "fxhash", + "itertools 0.13.0", + "itertools-num", + "lazy_static", + "multimap 0.10.0", + "ndarray", + "newtype_derive", + "num-integer", + "num-traits", + "ordered-float 4.2.2", + "petgraph", + "rand", + "regex", + "serde", + "serde_derive", + "statrs", + "strum 0.26.3", + "strum_macros 0.26.4", + "thiserror", + "triple_accel", + "vec_map", +] + [[package]] name = "bio-types" version = "1.0.1" @@ -1104,7 +1143,16 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec 0.8.0", ] [[package]] @@ -1113,6 +1161,12 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + [[package]] name = "bitflags" version = "1.3.2" @@ -1341,24 +1395,24 @@ dependencies = [ [[package]] name = "cached" -version = "0.50.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a7d38ed2761b8a13ce42bc44b09d5a052b88da2f9fead624c779f31ac0729a" +checksum = "b4d73155ae6b28cf5de4cfc29aeb02b8a1c6dab883cb015d15cd514e42766846" dependencies = [ "ahash 0.8.11", "cached_proc_macro", "cached_proc_macro_types", "hashbrown 0.14.5", - "instant", "once_cell", "thiserror", + "web-time", ] [[package]] name = "cached_proc_macro" -version = "0.21.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771aa57f3b17da6c8bcacb187bb9ec9bc81c8160e72342e67c329e0e1651a669" +checksum = "2f42a145ed2d10dce2191e1dcf30cfccfea9026660e143662ba5eec4017d5daa" dependencies = [ "darling", "proc-macro2", @@ -1520,6 +1574,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cookie" version = "0.16.2" @@ -1822,7 +1885,7 @@ version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ - "convert_case", + "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version 0.4.0", @@ -1839,7 +1902,7 @@ dependencies = [ "lazy_static", "mintex", "parking_lot", - "rustc-hash", + "rustc-hash 1.1.0", "serde", "serde_json", "thousands", @@ -1963,6 +2026,27 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "enumflags2" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "env_filter" version = "0.1.0" @@ -2422,13 +2506,13 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hgvs" -version = "0.16.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c860777179557614169d38d0ef292aff2e14aa2a95464dba6654c6753b4d0998" +checksum = "bc11f5c31ad6f61ff160ed587ed67a6cdc677acc22e316ab6451c01e1bf17fb3" dependencies = [ "ahash 0.8.11", "base16ct 0.2.0", - "bio", + "bio 2.0.1", "biocommons-bioutils", "cached", "chrono", @@ -2442,7 +2526,7 @@ dependencies = [ "postgres", "quick_cache", "regex", - "rustc-hash", + "rustc-hash 2.0.0", "seqrepo", "serde", "serde_json", @@ -2754,6 +2838,27 @@ dependencies = [ "thiserror", ] +[[package]] +name = "kinded" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce4bdbb2f423660b19f0e9f7115182214732d8dd5f840cd0a3aee3e22562f34c" +dependencies = [ + "kinded_macros", +] + +[[package]] +name = "kinded_macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13b4ddc5dcb32f45dac3d6f606da2a52fdb9964a18427e63cd5ef6c0d13288d" +dependencies = [ + "convert_case 0.6.0", + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "kv-log-macro" version = "1.0.7" @@ -3029,16 +3134,16 @@ dependencies = [ [[package]] name = "mehari" -version = "0.25.7" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eb3776b15b1b0d1199cd1c60fdeb806aee0fd9a56d064992ee566d1f9fe43c7" +checksum = "462ca9aa32beb2b638552cb931c5cbb40c01a025e6235ebab2e633bcef612af5" dependencies = [ "actix-web", "annonars", "anyhow", "async-compression", "bgzip", - "bio", + "bio 2.0.1", "biocommons-bioutils", "byte-unit", "byteorder", @@ -3048,8 +3153,10 @@ dependencies = [ "coz", "csv", "derivative", + "derive-new 0.6.0", "derive_builder", "dhat", + "enumflags2", "env_logger", "flate2", "futures", @@ -3058,22 +3165,24 @@ dependencies = [ "indicatif", "itertools 0.13.0", "jsonl", - "lazy_static", "log", "nom", - "noodles", + "noodles 0.77.0", + "nutype", + "once_cell", "parse-display", - "pbjson", - "pbjson-build", - "pbjson-types", + "pbjson 0.7.0", + "pbjson-build 0.7.0", + "pbjson-types 0.7.0", "procfs", - "prost", - "prost-build", + "prost 0.13.1", + "prost-build 0.13.1", "quick_cache", "rand", "rand_core", + "rayon", "rocksdb", - "rustc-hash", + "rustc-hash 2.0.0", "seqrepo", "serde", "serde_json", @@ -3218,15 +3327,26 @@ name = "noodles" version = "0.76.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a346e5a6000033512105890243ff310a307637ae9d9de317f7480e136549a4d" +dependencies = [ + "noodles-bgzf 0.30.0", + "noodles-core", + "noodles-fasta 0.39.0", +] + +[[package]] +name = "noodles" +version = "0.77.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8629ce12eeb2d6483be18af64beb9488840299ecd617be4ec2f4ebf66688e6" dependencies = [ "noodles-bam", "noodles-bcf", "noodles-bed", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "noodles-cram", "noodles-csi", - "noodles-fasta", + "noodles-fasta 0.40.0", "noodles-fastq", "noodles-gff", "noodles-sam", @@ -3236,17 +3356,17 @@ dependencies = [ [[package]] name = "noodles-bam" -version = "0.63.0" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ede0b1e0b8e0e03f21c692ad38473dfe95c3650317650205c29c9a682c4a5a6" +checksum = "3fd4e9825cce4ed3c7fa958efce37268d899bdb7fdeb22d73493a095de1564be" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", "bstr", "byteorder", "bytes", "futures", "indexmap 2.2.6", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "noodles-csi", "noodles-sam", @@ -3255,14 +3375,14 @@ dependencies = [ [[package]] name = "noodles-bcf" -version = "0.56.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84399185965e44a6fe2ea499cf2bc81e4e687bde7b39de5e8fa5b72c6a0a0982" +checksum = "303f875dac987f76fcf05e133811e3ccc25c8649151569e7c8003f25d78b7aa8" dependencies = [ "byteorder", "futures", "indexmap 2.2.6", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "noodles-csi", "noodles-vcf", @@ -3271,9 +3391,9 @@ dependencies = [ [[package]] name = "noodles-bed" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d114cc62a405cc763e0e0607a037e5bb9298e281690f9e10bc2ffc2312f92b3" +checksum = "4c781b824d10b621df17d26fb5cd9d3cc8188aeabda7de7e36cde51f6015b31d" dependencies = [ "noodles-core", ] @@ -3283,6 +3403,18 @@ name = "noodles-bgzf" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13f54d4840fd26ed94103ded9524aa5fdd757255a556f24653d162c0a45c47e8" +dependencies = [ + "byteorder", + "bytes", + "crossbeam-channel", + "flate2", +] + +[[package]] +name = "noodles-bgzf" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754f4d28655c5d486e2a62814c5dcc46ad2cee5a2b6cbe91fd765a5ec997f91a" dependencies = [ "byteorder", "bytes", @@ -3305,9 +3437,9 @@ dependencies = [ [[package]] name = "noodles-cram" -version = "0.64.0" +version = "0.65.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0139e7b11f63244be14ce5abe53e9379ba25d7a606424dcb0f40b5c31831f6e7" +checksum = "4cf95f7e286f62550121f6135a1cb372a0233eba7bffb7f7bebe55eb4f12b35c" dependencies = [ "async-compression", "bitflags 2.5.0", @@ -3321,7 +3453,7 @@ dependencies = [ "md-5", "noodles-bam", "noodles-core", - "noodles-fasta", + "noodles-fasta 0.40.0", "noodles-sam", "pin-project-lite", "tokio", @@ -3330,14 +3462,14 @@ dependencies = [ [[package]] name = "noodles-csi" -version = "0.35.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beb1618ca2aa88662d387197a188686105d6b5e25f6959c52b766276cbfc4620" +checksum = "89ac24bac459ae99c046086d771f5a79f632ab27a9280406f2fbb7a3238d79cc" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", "byteorder", "indexmap 2.2.6", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "tokio", ] @@ -3350,16 +3482,29 @@ checksum = "c3f35c5b39977f95efacb67c3ae4ca00b5229249327bb0e9a980f386cad36d93" dependencies = [ "bytes", "memchr", - "noodles-bgzf", + "noodles-bgzf 0.30.0", + "noodles-core", +] + +[[package]] +name = "noodles-fasta" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "195e5a37b273b03499d85a83e9101532c02a21c7b9b2d9c11960b6fbfdcd39ad" +dependencies = [ + "bstr", + "bytes", + "memchr", + "noodles-bgzf 0.31.0", "noodles-core", "tokio", ] [[package]] name = "noodles-fastq" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc408c8c4ce6806d2ebadef2fa2fe20f32ec98769f035d637564d6f2d08b7769" +checksum = "07822ab5042903a710fedc1ac86e08c18dfc1bd87af404e938efa3df212c1011" dependencies = [ "futures", "memchr", @@ -3368,13 +3513,13 @@ dependencies = [ [[package]] name = "noodles-gff" -version = "0.33.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578b6efaf5c3f029720af4c8590e34fd38e214666971d665a52e3566830170d0" +checksum = "1461ade66be950a9c4ad10839f960a50b41c4174471ff904350d203e57a052b1" dependencies = [ "futures", "indexmap 2.2.6", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "noodles-csi", "percent-encoding", @@ -3383,9 +3528,9 @@ dependencies = [ [[package]] name = "noodles-sam" -version = "0.60.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec6452e8ed9f20ef043dce35e09ed58f1c34834cd941e987458a66e8fa66fa0" +checksum = "48e2636562b1b13e21369e82b0426cd532a3fb2dc676eccec89215a1a8dad243" dependencies = [ "bitflags 2.5.0", "bstr", @@ -3393,7 +3538,7 @@ dependencies = [ "indexmap 2.2.6", "lexical-core", "memchr", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "noodles-csi", "tokio", @@ -3401,14 +3546,14 @@ dependencies = [ [[package]] name = "noodles-tabix" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc110f78cb406f69f42c482d1986526c590b7295f37f0e37f1fc380413400ef" +checksum = "8ddf20eb2a380e00bbe6ec3105f1ef5c62307381f4bcf4175b31d582d43a7e59" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", "byteorder", "indexmap 2.2.6", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "noodles-csi", "tokio", @@ -3416,14 +3561,14 @@ dependencies = [ [[package]] name = "noodles-vcf" -version = "0.59.0" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7363b498e8a015db55777ccbc5cb0036182175851443c62ef847c7152c8a9919" +checksum = "adb37ce398cc0132b5855ac720c2e9efe14270b38be57ee576d79bc918754e2a" dependencies = [ "futures", "indexmap 2.2.6", "memchr", - "noodles-bgzf", + "noodles-bgzf 0.31.0", "noodles-core", "noodles-csi", "noodles-tabix", @@ -3502,6 +3647,29 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +[[package]] +name = "nutype" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "362399c4581483ed2813c9b05dd6bcd903c60e61005c4b838c65ae755be69dd6" +dependencies = [ + "nutype_macros", +] + +[[package]] +name = "nutype_macros" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0625bcc0c714bdf12a451c4f6510b949abb095d98cc3cc8fe3812a8100ca6592" +dependencies = [ + "cfg-if", + "kinded", + "proc-macro2", + "quote", + "syn 2.0.66", + "urlencoding", +] + [[package]] name = "object" version = "0.36.0" @@ -3538,6 +3706,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "ordered-float" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" +dependencies = [ + "num-traits", +] + [[package]] name = "outref" version = "0.5.1" @@ -3631,6 +3808,16 @@ dependencies = [ "serde", ] +[[package]] +name = "pbjson" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e6349fa080353f4a597daffd05cb81572a9c031a6d4fff7e504947496fcc68" +dependencies = [ + "base64 0.21.7", + "serde", +] + [[package]] name = "pbjson-build" version = "0.6.2" @@ -3639,8 +3826,20 @@ checksum = "2580e33f2292d34be285c5bc3dba5259542b083cfad6037b6d70345f24dcb735" dependencies = [ "heck 0.4.1", "itertools 0.11.0", - "prost", - "prost-types", + "prost 0.12.6", + "prost-types 0.12.6", +] + +[[package]] +name = "pbjson-build" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eea3058763d6e656105d1403cb04e0a41b7bbac6362d413e7c33be0c32279c9" +dependencies = [ + "heck 0.5.0", + "itertools 0.13.0", + "prost 0.13.1", + "prost-types 0.13.1", ] [[package]] @@ -3651,10 +3850,25 @@ checksum = "18f596653ba4ac51bdecbb4ef6773bc7f56042dc13927910de1684ad3d32aa12" dependencies = [ "bytes", "chrono", - "pbjson", - "pbjson-build", - "prost", - "prost-build", + "pbjson 0.6.0", + "pbjson-build 0.6.2", + "prost 0.12.6", + "prost-build 0.12.6", + "serde", +] + +[[package]] +name = "pbjson-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e54e5e7bfb1652f95bc361d76f3c780d8e526b134b85417e774166ee941f0887" +dependencies = [ + "bytes", + "chrono", + "pbjson 0.7.0", + "pbjson-build 0.7.0", + "prost 0.13.1", + "prost-build 0.13.1", "serde", ] @@ -3918,7 +4132,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.12.6", +] + +[[package]] +name = "prost" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" +dependencies = [ + "bytes", + "prost-derive 0.13.1", ] [[package]] @@ -3935,8 +4159,29 @@ dependencies = [ "once_cell", "petgraph", "prettyplease", - "prost", - "prost-types", + "prost 0.12.6", + "prost-types 0.12.6", + "regex", + "syn 2.0.66", + "tempfile", +] + +[[package]] +name = "prost-build" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bb182580f71dd070f88d01ce3de9f4da5021db7115d2e1c3605a754153b77c1" +dependencies = [ + "bytes", + "heck 0.5.0", + "itertools 0.13.0", + "log", + "multimap 0.10.0", + "once_cell", + "petgraph", + "prettyplease", + "prost 0.13.1", + "prost-types 0.13.1", "regex", "syn 2.0.66", "tempfile", @@ -3955,13 +4200,35 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "prost-derive" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18bec9b0adc4eba778b33684b7ba3e7137789434769ee3ce3930463ef904cfca" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "prost-types" version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ - "prost", + "prost 0.12.6", +] + +[[package]] +name = "prost-types" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" +dependencies = [ + "prost 0.13.1", ] [[package]] @@ -3986,9 +4253,9 @@ dependencies = [ [[package]] name = "quick_cache" -version = "0.5.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "347e1a588d1de074eeb3c00eadff93db4db65aeb62aee852b1efd0949fe65b6c" +checksum = "ec932c60e6faf77dc6601ea149a23d821598b019b450bb1d98fe89c0301c0b61" dependencies = [ "ahash 0.8.11", "equivalent", @@ -4341,6 +4608,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" version = "0.1.7" @@ -4532,12 +4805,12 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "seqrepo" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9bad563692d6dc960f5a22a77b8efd212fdf38d2c09645246426c96ea615541" +checksum = "8382cc8df7f9393b407caaeb2fe9ba7506a5abc32e5a117288cf9f5726c21dfb" dependencies = [ "chrono", - "noodles", + "noodles 0.76.0", "rusqlite", "thiserror", "tracing", @@ -4598,9 +4871,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" dependencies = [ "base64 0.22.1", "chrono", @@ -4616,9 +4889,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" dependencies = [ "darling", "proc-macro2", @@ -5268,6 +5541,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + [[package]] name = "unicode-width" version = "0.1.13" @@ -5349,7 +5628,7 @@ dependencies = [ "aws-config", "aws-sdk-s3", "base16ct 0.2.0", - "bio", + "bio 1.6.0", "biocommons-bioutils", "byte-unit", "byteorder", @@ -5376,14 +5655,14 @@ dependencies = [ "log", "mehari", "multimap 0.10.0", - "noodles", - "pbjson", - "pbjson-build", - "pbjson-types", + "noodles 0.77.0", + "pbjson 0.6.0", + "pbjson-build 0.6.2", + "pbjson-types 0.6.0", "pretty_assertions", "procfs", - "prost", - "prost-build", + "prost 0.13.1", + "prost-build 0.12.6", "rand", "rand_core", "rayon", @@ -5539,6 +5818,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "whoami" version = "1.5.1" diff --git a/Cargo.toml b/Cargo.toml index f0e89a7c..d1e6d7e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ rust-version = "1.70.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -annonars = "0.39" +annonars = "0.40" anyhow = "1.0" async-compression = { version = "0.4", features = ["tokio", "gzip"] } aws-sdk-s3 = { version = "1.38", features = ["behavior-version-latest"] } @@ -35,16 +35,16 @@ ext-sort = { version = "0.1", features = ["memory-limit", "bytesize"] } fastrand = "2.0" flate2 = "1.0" futures = "0.3.30" -hgvs = "0.16" +hgvs = "0.17" indexmap = { version = "2.2", features = ["serde"] } itertools = "0.13" log = "0.4" -mehari = "0.25.6" +mehari = "0.26.0" multimap = "0.10" pbjson = "0.6" pbjson-types = "0.6" procfs = "0.16" -prost = "0.12" +prost = "0.13.1" rand = "0.8" rand_core = "0.6" rayon = "1.10" @@ -66,7 +66,7 @@ tracing-subscriber = "0.3" uuid = { version = "1.9", features = ["v4", "fast-rng", "serde"] } [dependencies.noodles] -version = "0.76.0" +version = "0.77.0" features = ["bgzf", "core", "csi", "tabix", "vcf", "bcf"] diff --git a/build.rs b/build.rs index cc57b78e..08da62c0 100644 --- a/build.rs +++ b/build.rs @@ -9,7 +9,7 @@ fn main() -> Result<(), anyhow::Error> { "varfish/v1/clinvar.proto", "varfish/v1/sv.proto", "varfish/v1/worker.proto", - "varfish/v1/query_seqvars.proto", + "varfish/v1/seqvars/query.proto", ] .iter() .map(|f| root.join(f)) diff --git a/protos/varfish/v1/query_seqvars.proto b/protos/varfish/v1/query_seqvars.proto deleted file mode 100644 index c5f4941d..00000000 --- a/protos/varfish/v1/query_seqvars.proto +++ /dev/null @@ -1,251 +0,0 @@ -syntax = "proto3"; - -package varfish.v1.seqvars; - - -// The Variant consequence -enum Consequence { - // high impact - ChromosomeNumberVariation = 0; - ExonLossVariant = 1; - FrameshiftVariant = 2; - RareAminoAcidVariant = 3; - SpliceAcceptorVariant = 4; - SpliceDonorVariant = 5; - StartLost = 6; - StopGained = 7; - StopLost = 8; - TranscriptAblation = 9; - // moderate impact - ThreePrimeUtrTruncation = 10; - FivePrimeUtrTruncaction = 11; - ConservativeInframeDeletion = 12; - ConservativeInframeInsertion = 13; - DisruptiveInframeDeletion = 14; - DisruptiveInframeInsertion = 15; - MissenseVariant = 16; - RegulatoryRegionAblation = 17; - SpliceRegionVariant = 18; - TbfsAblation = 19; - // low impact - FivePrimeUtrPrematureStartCodonGainVariant = 20; - InitiatorCodonVariant = 21; - StartRetained = 22; - StopRetainedVariant = 23; - SynonymousVariant = 24; - // modifier - ThreePrimeUtrVariant = 25; - FivePrimeUtrVariant = 26; - CodingSequenceVariant = 27; - ConservedIntergenicVariant = 28; - ConservedIntronVariant = 29; - DownstreamGeneVariant = 30; - ExonVariant = 31; - FeatureElongation = 32; - FeatureTruncation = 33; - GeneVariant = 34; - IntergenicVariant = 35; - IntronVariant = 36; - MatureMirnaVariant = 37; - // miRNA - Mirna = 38; - NmdTranscriptVariant = 39; - NonCodingTranscriptExonVariant = 40; - NonCodingTranscriptIntronVariant = 41; - RegulatoryRegionAmplification = 42; - RegulatoryRegionVariant = 43; - TfBindingSiteVariant = 44; - TfbsAmplification = 45; - TranscriptAmplification = 46; - TranscriptVariant = 47; - UpstreamGeneVariant = 48; -} - -// Enumeration for recessive mode queries. -enum RecesssiveMode { - Unknown = 0; - Recessive = 1; - CompoundRecessive = 2; -} - -// Choice for genotype. -enum GenotypeChoice { - // Any genotype - Any = 0; - // Ref. genotype - Ref = 1; - // Het. genotype - Het = 2; - // Hom. genotype - Hom = 3; - // Non-hom genotype - NonHom = 4; - // Variant genotype - Variant = 5; - // Index in comp. het. recessive inheritance - ComphetIndex = 6; - // Index in recessive inheritance - RecessiveIndex = 7; - // Parent in recessive inheritance - RecessiveParent = 8; -} - -// Quality settings for one sample. -message SampleQualitySettings { - // Drop whole variant on failure - bool filter_active = 1; - // Name of the sample filtered for - string sample = 2; - // Enable filter for sample. - bool enabled = 3; - // Minimal coverage for het. sites - optional int32 dp_het = 4; - // Minimal coverage for hom. sites - optional int32 dp_hom = 5; - // Minimal genotype quality - optional int32 gq = 6; - // Minimal allele balance for het. variants - optional float ab = 7; - // Minimal number of alternate reads - optional int32 ad = 8; - // Maximal number of alternate reads - optional int32 ad_max = 9; -} - -message Range { - int32 start = 1; - int32 end = 2; -} - -message GenomicRegion { - // Chromosome - string chrom = 1; - // Range of region - optional Range range = 2; -} - -message ClinVarOptions { - // Wether to require ClinVar membership - bool require_in_clinvar = 1; - // Whether to include benign ClinVar variants - bool include_benign = 2; - // Whether to include pathogenic ClinVar variants - bool include_pathogenic = 3; - // Whether to include likely benign ClinVar variants - bool include_likely_benign = 4; - // Whether to include likely pathogenic ClinVar variants - bool include_likely_pathogenic = 5; - // Whether to include uncertain significance ClinVar variants - bool include_uncertain_significance = 6; - // Whether to include conflicting interpretation ClinVar variants - bool include_conflicting_classifications = 7; -} - - - -message InhouseFrequencyOptions { - // Whether to enable filtration by 1000 Genomes. - bool enabled = 1; - // Maximal number of in-house carriers - optional int32 carriers = 2; - // Maximal number of in-house heterozygous carriers - optional int32 heterozygous = 3; - // Maximal number of in-house homozygous carriers - optional int32 homozygous = 4; - // Maximal number of in-house hemizygous carriers - optional int32 hemizygous = 5; -} - -message GnomadNuclearOptions { - // Whether to enable filtration by 1000 Genomes. - bool enabled = 1; - // Maximal number of in-house carriers - optional int32 carriers = 2; - // Maximal number of in-house heterozygous carriers - optional int32 heterozygous = 3; - // Maximal number of in-house homozygous carriers - optional int32 homozygous = 4; - // Maximal number of in-house hemizygous carriers - optional int32 hemizygous = 5; - // Maximal allele frequency. - optional float allele_frequency = 6; -} - - -message GnomadMitochondrialOptions { - // Whether to enable filtration by 1000 Genomes. - bool enabled = 1; - // Maximal number of carriers - optional int32 carriers = 2; - // Maximal number of heteroplasmic carriers. - optional int32 heteroplasmic = 3; - // Maximal number of homoplasmic carriers. - optional int32 homoplasmic = 4; - // Maximal allele frequency. - optional float allele_frequency = 5; -} - -message HelixMtDbOptions { - // Whether to enable filtration by mtDB - bool enabled = 1; - // Maximal frequency in HelixMtDb - optional float frequency = 2; - // Maximal number of heterozygous carriers in HelixMtDb - optional int32 heteroplasmic = 3; - // Maximal number of homozygous carriers in HelixMtDb - optional int32 homoplasmic = 4; -} - -message PopulationFrequencyOptions { - // gnomAD-exomes filter - GnomadNuclearOptions gnomad_exomes = 1; - // gnomAD-genomes filter - GnomadNuclearOptions gnomad_genomes = 2; - // gnomAD-MT filter - GnomadMitochondrialOptions gnomad_mt = 3; - // HelixMtDb filter - HelixMtDbOptions helixmtdb = 4; -} - -message VariantTypeOptions { - // Whether to include SNVs - bool snv = 1; - // Whether to include indels - bool indel = 2; - // Whether to include MNVs - bool mnv = 3; -} - -message LocusRelatedOptions { - // List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict the resulting variants to - repeated string gene_allowlist = 1; - // List of genomic regions to limit restrict the resulting variants to - repeated GenomicRegion genomic_regions = 2; -} - -message TranscriptOptions { - // Whether to include coding transcripts - bool transcripts_coding = 1; - // Whether to include non-coding transcripts - bool transcripts_noncoding = 2; - // Maximal distance to next exon, if any - optional int32 max_exon_dist = 3; -} - -message CaseQuery { - // Molecular consequences to consider - repeated Consequence consequences = 1; - // Quality settings for each individual - map quality = 2; - // Genotype choice for each individual - map genotype = 3; - TranscriptOptions transcript = 4; - VariantTypeOptions var_type = 5; - LocusRelatedOptions locus = 6; - // ClinVar related filter options - // need to explicitly have an enable function - ClinVarOptions clinvar = 7; - // PopulationFrequency related filter options - PopulationFrequencyOptions population_frequency = 8; - InhouseFrequencyOptions inhouse = 9; -} \ No newline at end of file diff --git a/protos/varfish/v1/seqvars/query.proto b/protos/varfish/v1/seqvars/query.proto new file mode 100644 index 00000000..ae7418fc --- /dev/null +++ b/protos/varfish/v1/seqvars/query.proto @@ -0,0 +1,341 @@ +syntax = "proto3"; + +package varfish.v1.seqvars.query; + +// Enumeration for recessive mode queries. +enum RecessiveMode { + // Unknown recessive mode. + RECESSIVE_MODE_UNSPECIFIED = 0; + // Disabled recessive mode. + RECESSIVE_MODE_DISABLED = 1; + // Compound heterozygous recessive mode. + RECESSIVE_MODE_COMPOUND_HETEROZYGOUS = 2; + // Homozygous recessive mode. + RECESSIVE_MODE_HOMOZYGOUS = 3; + // Generic recessive mode. + RECESSIVE_MODE_ANY = 4; +} + +// Choice for genotype. +enum GenotypeChoice { + // Unknown genotype. + GENOTYPE_CHOICE_UNSPECIFIED = 0; + // Any genoype. + GENOTYPE_CHOICE_ANY = 1; + // Reference genotype. + GENOTYPE_CHOICE_REF = 2; + // Heterozygous genotype. + GENOTYPE_CHOICE_HET = 3; + // Homozygous genotype. + GENOTYPE_CHOICE_HOM = 4; + // Non-heterozygous genotype. + GENOTYPE_CHOICE_NON_HET = 5; + // Non-homozygous genotype. + GENOTYPE_CHOICE_NON_HOM = 6; + // Variant genotype. + GENOTYPE_CHOICE_VARIANT = 7; + // Recessive index. + GENOTYPE_CHOICE_RECESSIVE_INDEX = 8; + // Recessive parent. + GENOTYPE_CHOICE_RECESSIVE_PARENT = 9; +} + +// Genotype choice for one sample. +message SampleGenotypeChoice { + // Name of the sample filtered for + string sample = 1; + // Genotype choice + GenotypeChoice genotype = 2; + // Whether to include no-call (will disable quality filter). + bool include_no_call = 3; + // Whether to enable sample in filtration + bool enabled = 4; +} + +// Genotype-related filter settings. +message QuerySettingsGenotype { + // Recessive mode + RecessiveMode recessive_mode = 1; + // List of sample genotype choices + repeated SampleGenotypeChoice sample_genotypes = 2; +} + +// Quality settings for one sample. +message SampleQualitySettings { + // Name of the sample filtered for + string sample = 1; + // Drop whole variant on failure + bool filter_active = 2; + // Minimal coverage for het. sites + optional int32 min_dp_het = 3; + // Minimal coverage for hom. sites + optional int32 min_dp_hom = 4; + // Minimal genotype quality + optional int32 min_gq = 5; + // Minimal allele balance for het. variants + optional float min_ab = 6; + // Minimal number of alternate reads + optional int32 min_ad = 7; + // Maximal number of alternate reads + optional int32 max_ad = 8; +} + +// Per-sample quality filter settings. +message QuerySettingsQuality { + // List of sample quality settings + repeated SampleQualitySettings sample_qualities = 1; +} + +// gnomAD nuclear filter options. +message GnomadNuclearFreqyencySettings { + // Whether to enable filtration by 1000 Genomes. + bool enabled = 1; + // Maximal number of in-house heterozygous carriers + optional int32 heterozygous = 2; + // Maximal number of in-house homozygous carriers + optional int32 homozygous = 3; + // Maximal number of in-house hemizygous carriers + optional int32 hemizygous = 4; + // Maximal allele frequency. + optional float frequency = 5; +} + +// gnomAD mitochondrial filter options. +message GnomadMitochondrialFrequencySettings { + // Whether to enable filtration by 1000 Genomes. + bool enabled = 1; + // Maximal number of heteroplasmic carriers. + optional int32 heteroplasmic = 2; + // Maximal number of homoplasmic carriers. + optional int32 homoplasmic = 3; + // Maximal allele frequency. + optional float frequency = 4; +} + +// HelixMtDb filter options. +message HelixMtDbFrequencySettings { + // Whether to enable filtration by mtDB + bool enabled = 1; + // Maximal number of heterozygous carriers in HelixMtDb + optional int32 heteroplasmic = 2; + // Maximal number of homozygous carriers in HelixMtDb + optional int32 homoplasmic = 3; + // Maximal frequency in HelixMtDb + optional float frequency = 4; +} + +// In-house frequency filter options. +message InhouseFrequencySettings { + // Whether to enable filtration by 1000 Genomes. + bool enabled = 1; + // Maximal number of in-house heterozygous carriers + optional int32 heterozygous = 2; + // Maximal number of in-house homozygous carriers + optional int32 homozygous = 3; + // Maximal number of in-house hemizygous carriers + optional int32 hemizygous = 4; + // Maximal number of in-house carriers + optional int32 carriers = 5; +} + +// Population frequency filter options. +message QuerySettingsFrequency { + // gnomAD-exomes filter + GnomadNuclearFreqyencySettings gnomad_exomes = 1; + // gnomAD-genomes filter + GnomadNuclearFreqyencySettings gnomad_genomes = 2; + // gnomAD-MT filter + GnomadMitochondrialFrequencySettings gnomad_mt = 3; + // HelixMtDb filter + HelixMtDbFrequencySettings helixmtdb = 4; + // In-house filter + InhouseFrequencySettings inhouse = 5; +} + +// The variant types. +enum VariantType { + // Unknown variant type + VARIANT_TYPE_UNSPECIFIED = 0; + // SNV + VARIANT_TYPE_SNV = 1; + // Indel + VARIANT_TYPE_INDEL = 2; + // MNV + VARIANT_TYPE_MNV = 3; + // Complex Substitution + VARIANT_TYPE_COMPLEX_SUBSTITUTION = 4; +} + +// Transcript types to consider. +enum TranscriptType { + // Unknown transcript type. + TRANSCRIPT_TYPE_UNSPECIFIED = 0; + // Coding transcript. + TRANSCRIPT_TYPE_CODING = 1; + // Non-coding transcript. + TRANSCRIPT_TYPE_NON_CODING = 2; +} + +// The Variant consequence +enum Consequence { + // Unknown consequence. + CONSEQUENCE_UNSPECIFIED = 0; + /* + * high impact + */ + // Transcript ablation. + CONSEQUENCE_TRANSCRIPT_ABLATION = 1; + // Exon loss variant. + CONSEQUENCE_EXON_LOSS_VARIANT = 2; + // Splice acceptor variant + CONSEQUENCE_SPLICE_ACCEPTOR_VARIANT = 3; + // Splice donor variant + CONSEQUENCE_SPLICE_DONOR_VARIANT = 4; + // Stop gained + CONSEQUENCE_STOP_GAINED = 5; + // Frameshift variant + CONSEQUENCE_FRAMESHIFT_VARIANT = 6; + // Stop lost + CONSEQUENCE_STOP_LOST = 7; + // Start lost + CONSEQUENCE_START_LOST = 8; + // Transcript amplification + CONSEQUENCE_TRANSCRIPT_AMPLIFICATION = 9; + /* + * moderate impact + */ + // Disruptive inframe insertion + CONSEQUENCE_DISRUPTIVE_INFRAME_INSERTION = 10; + // Disruptive inframe deletion + CONSEQUENCE_DISRUPTIVE_INFRAME_DELETION = 11; + // Conservative inframe insertion + CONSEQUENCE_CONSERVATIVE_INFRAME_INSERTION = 12; + // Conservative inframe deletion + CONSEQUENCE_CONSERVATIVE_INFRAME_DELETION = 13; + // In-frame indel. + CONSEQUENCE_IN_FRAME_INDEL = 14; + // Missense variant + CONSEQUENCE_MISSENSE_VARIANT = 15; + /* + * low impact + */ + // Splice donor 5th base variant. + CONSEQUENCE_SPLICE_DONOR_FIFTH_BASE_VARIANT = 16; + // Splice region variant. + CONSEQUENCE_SPLICE_REGION_VARIANT = 17; + // Splice donor region variant. + CONSEQUENCE_SPLICE_DONOR_REGION_VARIANT = 18; + // Splice polypyrimidine tract variant. + CONSEQUENCE_SPLICE_POLYPYRIMIDINE_TRACT_VARIANT = 19; + // Start retained variant. + CONSEQUENCE_START_RETAINED_VARIANT = 20; + // Stop retained variant. + CONSEQUENCE_STOP_RETAINED_VARIANT = 21; + // Synonymous variant. + CONSEQUENCE_SYNONYMOUS_VARIANT = 22; + /* + * modifier + */ + // Coding sequence variant. + CONSEQUENCE_CODING_SEQUENCE_VARIANT = 23; + // 5' UTR exon variant. + CONSEQUENCE_FIVE_PRIME_UTR_EXON_VARIANT = 24; + // 5' UTR intron variant. + CONSEQUENCE_FIVE_PRIME_UTR_INTRON_VARIANT = 25; + // 3' UTR exon variant. + CONSEQUENCE_THREE_PRIME_UTR_EXON_VARIANT = 26; + // 3' UTR intron variant. + CONSEQUENCE_THREE_PRIME_UTR_INTRON_VARIANT = 27; + // Non-coding transcript exon variant. + CONSEQUENCE_NON_CODING_TRANSCRIPT_EXON_VARIANT = 28; + // Non-coding transcript intron variant. + CONSEQUENCE_NON_CODING_TRANSCRIPT_INTRON_VARIANT = 29; + // Upstream gene variant. + CONSEQUENCE_UPSTREAM_GENE_VARIANT = 30; + // Downstream gene variant. + CONSEQUENCE_DOWNSTREAM_GENE_VARIANT = 31; + // Intergenic variant. + CONSEQUENCE_INTERGENIC_VARIANT = 32; + // Intron variant. + CONSEQUENCE_INTRON_VARIANT = 33; +} + +// Consequence-related filter settings. +message QuerySettingsConsequence { + // The variant types. + repeated VariantType variant_types = 1; + // The transcript types. + repeated TranscriptType transcript_types = 2; + // List of consequences to consider + repeated Consequence consequences = 3; + // Maximal distance to next exon, if any + optional int32 max_dist_to_exon = 4; +} + +// An 1-based integer range. +message Range { + // 1-based start position. + int32 start = 1; + // 1-based end position. + int32 end = 2; +} + +// Genomic region. +message GenomicRegion { + // Chromosome + string chrom = 1; + // Range of region + optional Range range = 2; +} + +// Locus-related filter settings. +message QuerySettingsLocus { + // List of HGNC identifiers for filtration to genes. + // + // The server will expand gene panels to gene lists here. + repeated string genes = 1; + // List of genomic regions to limit restrict the resulting variants to + repeated GenomicRegion genome_regions = 2; +} + +// Enumeration of canonical ClinVar germline aggregte descriptions. +enum ClinvarGermlineAggregateDescription { + // Unknown description. + CLINVAR_GERMLINE_AGGREGATE_DESCRIPTION_UNSPECIFIED = 0; + // Pathogenic. + CLINVAR_GERMLINE_AGGREGATE_DESCRIPTION_PATHOGENIC = 1; + // Likely pathogenic. + CLINVAR_GERMLINE_AGGREGATE_DESCRIPTION_LIKELY_PATHOGENIC = 2; + // Uncertain significance. + CLINVAR_GERMLINE_AGGREGATE_DESCRIPTION_UNCERTAIN_SIGNIFICANCE = 3; + // Likely benign. + CLINVAR_GERMLINE_AGGREGATE_DESCRIPTION_LIKELY_BENIGN = 4; + // Benign. + CLINVAR_GERMLINE_AGGREGATE_DESCRIPTION_BENIGN = 5; +} + +// Clinvar-related query settings. +message QuerySettingsClinVar { + // Wether to require ClinVar membership + bool presence_required = 1; + // The ClinVar germline aggregate description to include. + repeated ClinvarGermlineAggregateDescription germline_descriptions = 2; + // Whether to include conflicting interpretation ClinVar variants + bool allow_conflicting_interpretations = 3; +} + +// Store query information for one case. +message CaseQuery { + // Genotype query settings. + QuerySettingsGenotype genotype = 1; + // Quality query settings. + QuerySettingsQuality quality = 2; + // Frequency query settings. + QuerySettingsFrequency frequency = 3; + // Consequence query settings. + QuerySettingsConsequence consequence = 4; + // Locus query settings. + QuerySettingsLocus locus = 5; + // ClinVar query settings. + QuerySettingsClinVar clinvar = 6; +} diff --git a/protos/varfish/v1/worker.proto b/protos/varfish/v1/worker.proto index b822ee68..ed6ccd3c 100644 --- a/protos/varfish/v1/worker.proto +++ b/protos/varfish/v1/worker.proto @@ -6,22 +6,22 @@ package varfish.v1.worker; // Protocol buffer for storing a list of file identifier mappings. message FileIdentifierMappings { - // Protocol buffer for storing file identifier mapping for one file. - message Mapping { - // Protocol buffer to store one mapping entry. - message Entry { - // Identifier as given in input file. - string src = 1; - // Identifier to use in output file. - string dst = 2; - } - - // Path to the file to obtain mapping for, as given on the command line. - string path = 1; - // List of identifier mappings. - repeated Entry entries = 2; + // Protocol buffer for storing file identifier mapping for one file. + message Mapping { + // Protocol buffer to store one mapping entry. + message Entry { + // Identifier as given in input file. + string src = 1; + // Identifier to use in output file. + string dst = 2; } - // One file per mapping. - repeated Mapping mappings = 1; + // Path to the file to obtain mapping for, as given on the command line. + string path = 1; + // List of identifier mappings. + repeated Entry entries = 2; + } + + // One file per mapping. + repeated Mapping mappings = 1; } diff --git a/src/common/mod.rs b/src/common/mod.rs index d6dd46b9..243a200e 100644 --- a/src/common/mod.rs +++ b/src/common/mod.rs @@ -475,8 +475,15 @@ pub fn add_contigs_38( Ok(builder) } +/// Error type for `genotype_to_string()` +#[derive(thiserror::Error, Debug, Clone)] +pub enum GenotypeToStringError { + #[error("Could not convert genotype {0}: {1}")] + InconvertibleGenotype(String, String), +} + /// Convert genotype to String value. -pub fn genotype_to_string(gt: &G) -> Result +pub fn genotype_to_string(gt: &G) -> Result where G: vcf::variant::record::samples::series::value::Genotype + ?Sized, { @@ -484,8 +491,9 @@ where let mut tmp = String::new(); for allele in gt.iter() { - let (position, phasing) = - allele.map_err(|e| anyhow::anyhow!("problem with Genotype {:?}: {}", gt, e))?; + let (position, phasing) = allele.map_err(|e| { + GenotypeToStringError::InconvertibleGenotype(format!("{:?}", gt), format!("{}", e)) + })?; // sic! VCF 4.4 has optional/implicit leading phasing indicator match phasing { Phasing::Phased => tmp.push('|'), diff --git a/src/pbs.rs b/src/pbs.rs index a86c866f..32a27e44 100644 --- a/src/pbs.rs +++ b/src/pbs.rs @@ -1,16 +1,29 @@ //! Data structures for (de-)serialization as generated by `prost-build`. +/// Code generate for protobufs by `prost-build`. +pub mod varfish { + /// Code generate for protobufs by `prost-build`. + pub mod v1 { + /// Code generate for protobufs by `prost-build`. + pub mod seqvars { + /// Code generate for protobufs by `prost-build`. + pub mod query { + include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.query.rs")); + include!(concat!( + env!("OUT_DIR"), + "/varfish.v1.seqvars.query.serde.rs" + )); + } + } + } +} + /// Code generate for protobufs by `prost-build`. pub mod clinvar { include!(concat!(env!("OUT_DIR"), "/varfish.v1.clinvar.rs")); include!(concat!(env!("OUT_DIR"), "/varfish.v1.clinvar.serde.rs")); } -pub mod seqvars { - include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.rs")); - include!(concat!(env!("OUT_DIR"), "/varfish.v1.seqvars.serde.rs")); -} - /// Code generate for protobufs by `prost-build`. pub mod svs { include!(concat!(env!("OUT_DIR"), "/varfish.v1.svs.rs")); diff --git a/src/seqvars/ingest/header.rs b/src/seqvars/ingest/header.rs index d05ae3f7..b6d828ec 100644 --- a/src/seqvars/ingest/header.rs +++ b/src/seqvars/ingest/header.rs @@ -291,6 +291,38 @@ pub fn build_output_header( "Number of hemi. alt. carriers in gnomAD genomes", ), ) + .add_info( + "gnomad_mtdna_an", + Map::::new( + Number::Count(1), + Type::Integer, + "Number of alleles in gnomAD MT", + ), + ) + .add_info( + "gnomad_mtdna_hom", + Map::::new( + Number::Count(1), + Type::Integer, + "Number of hom. alt. carriers in gnomAD MT", + ), + ) + .add_info( + "gnomad_mtdna_het", + Map::::new( + Number::Count(1), + Type::Integer, + "Number of het. alt. carriers in gnomAD MT", + ), + ) + .add_info( + "gnomad_mtdna_hemi", + Map::::new( + Number::Count(1), + Type::Integer, + "Number of hemi. alt. carriers in gnomAD MT", + ), + ) .add_info( "helix_an", Map::::new( diff --git a/src/seqvars/ingest/mod.rs b/src/seqvars/ingest/mod.rs index 2ca82e60..a77342bb 100644 --- a/src/seqvars/ingest/mod.rs +++ b/src/seqvars/ingest/mod.rs @@ -158,9 +158,9 @@ fn transform_format_value( let gt_captures = gt_re .captures(>) .unwrap_or_else(|| panic!("FORMAT/GT cannot be parsed: {}", >)); - let gt_1 = gt_captures.get(1).expect("must be capture").as_str(); - let gt_2 = gt_captures.get(2).expect("must be capture").as_str(); - let gt_3 = gt_captures.get(3).expect("must be capture").as_str(); + let gt_1 = gt_captures.get(1).expect("must be captured").as_str(); + let gt_2 = gt_captures.get(2).expect("must be captured").as_str(); + let gt_3 = gt_captures.get(3).expect("must be captured").as_str(); let new_gt = format!( "{}{}{}", diff --git a/src/seqvars/query/annonars.rs b/src/seqvars/query/annonars.rs index dcf7f9d6..2d430c23 100644 --- a/src/seqvars/query/annonars.rs +++ b/src/seqvars/query/annonars.rs @@ -2,11 +2,11 @@ use std::{path::Path, sync::Arc}; -use prost::Message; - use crate::{common::GenomeRelease, seqvars::ingest::path_component}; -use super::schema::SequenceVariant; +use prost::Message as _; + +use super::schema::data::VariantRecord; /// Bundle the types needed for databases. pub struct AnnonarsDbs { @@ -175,7 +175,7 @@ impl Annotator { raw_value .map(|raw_value| { - annonars::pbs::genes::base::Record::decode(&mut std::io::Cursor::new(&raw_value)) + annonars::pbs::genes::base::Record::decode(std::io::Cursor::new(raw_value)) .map_err(|e| { anyhow::anyhow!( "problem decoding record from genes database for HGNC ID {}: {}", @@ -194,7 +194,7 @@ impl Annotator { /// If there is a problem querying the database. pub fn query_clinvar_minimal( &self, - seqvar: &SequenceVariant, + seqvar: &VariantRecord, ) -> Result, anyhow::Error> { let cf_data = self @@ -202,13 +202,7 @@ impl Annotator { .clinvar_db .cf_handle("clinvar") .ok_or_else(|| anyhow::anyhow!("could not get clinvar column family"))?; - - let variant = annonars::common::spdi::Var::new( - annonars::common::cli::canonicalize(&seqvar.chrom), - seqvar.pos, - seqvar.reference.clone(), - seqvar.alternative.clone(), - ); + let variant: annonars::common::spdi::Var = seqvar.vcf_variant.clone().into(); annonars::clinvar_minimal::cli::query::query_for_variant( &variant, @@ -226,20 +220,14 @@ impl Annotator { /// If there is a problem querying the database. pub fn query_dbsnp( &self, - seqvar: &SequenceVariant, + seqvar: &VariantRecord, ) -> Result, anyhow::Error> { let cf_data = self .annonars_dbs .dbsnp_db .cf_handle("dbsnp_data") .ok_or_else(|| anyhow::anyhow!("could not get dbsnp_data column family"))?; - - let variant = annonars::common::spdi::Var::new( - annonars::common::cli::canonicalize(&seqvar.chrom), - seqvar.pos, - seqvar.reference.clone(), - seqvar.alternative.clone(), - ); + let variant: annonars::common::spdi::Var = seqvar.vcf_variant.clone().into(); annonars::dbsnp::cli::query::query_for_variant( &variant, @@ -257,20 +245,14 @@ impl Annotator { /// If there is a problem querying the database. pub fn query_cadd( &self, - seqvar: &SequenceVariant, + seqvar: &VariantRecord, ) -> Result>, anyhow::Error> { let cf_data = self .annonars_dbs .cadd_db .cf_handle("tsv_data") .ok_or_else(|| anyhow::anyhow!("could not get tsv_data column family"))?; - - let variant = annonars::common::spdi::Var::new( - annonars::common::cli::canonicalize(&seqvar.chrom), - seqvar.pos, - seqvar.reference.clone(), - seqvar.alternative.clone(), - ); + let variant: annonars::common::spdi::Var = seqvar.vcf_variant.clone().into(); let values = annonars::tsv::cli::query::query_for_variant( &variant, @@ -291,20 +273,14 @@ impl Annotator { /// If there is a problem querying the database. pub fn query_dbnsfp( &self, - seqvar: &SequenceVariant, + seqvar: &VariantRecord, ) -> Result>, anyhow::Error> { let cf_data = self .annonars_dbs .dbnsfp_db .cf_handle("tsv_data") .ok_or_else(|| anyhow::anyhow!("could not get tsv_data column family"))?; - - let variant = annonars::common::spdi::Var::new( - annonars::common::cli::canonicalize(&seqvar.chrom), - seqvar.pos, - seqvar.reference.clone(), - seqvar.alternative.clone(), - ); + let variant: annonars::common::spdi::Var = seqvar.vcf_variant.clone().into(); let values = annonars::tsv::cli::query::query_for_variant( &variant, diff --git a/src/seqvars/query/interpreter/clinvar.rs b/src/seqvars/query/interpreter/clinvar.rs index 587de6b8..a2554fc5 100644 --- a/src/seqvars/query/interpreter/clinvar.rs +++ b/src/seqvars/query/interpreter/clinvar.rs @@ -1,15 +1,18 @@ use crate::seqvars::query::{ annonars::Annotator, - schema::{CaseQuery, SequenceVariant}, + schema::{ + data::VariantRecord, + query::{CaseQuery, ClinvarGermlineAggregateDescription}, + }, }; -/// Determine whether the `SequenceVariant` passes the clinvar filter. +/// Determine whether the `VariantRecord` passes the clinvar filter. pub fn passes( query: &CaseQuery, annotator: &Annotator, - seqvar: &SequenceVariant, + seqvar: &VariantRecord, ) -> Result { - if !query.require_in_clinvar { + if !query.clinvar.presence_required { return Ok(true); } @@ -40,20 +43,29 @@ pub fn passes( .cloned() .unwrap_or_default(); + use ClinvarGermlineAggregateDescription::*; let result = match description.to_lowercase().as_str() { - "benign" => query.clinvar.include_benign, + "benign" => query.clinvar.germline_descriptions.contains(&Benign), "benign/likely benign" => { - query.clinvar.include_benign || query.clinvar.include_likely_benign + query.clinvar.germline_descriptions.contains(&Benign) + || query.clinvar.germline_descriptions.contains(&LikelyBenign) } - "likely benign" => query.clinvar.include_likely_benign, - "pathogenic" => query.clinvar.include_pathogenic, + "likely benign" => query.clinvar.germline_descriptions.contains(&LikelyBenign), + "pathogenic" => query.clinvar.germline_descriptions.contains(&Pathogenic), "pathogenic/likely pathogenic" => { - query.clinvar.include_pathogenic || query.clinvar.include_likely_pathogenic + query.clinvar.germline_descriptions.contains(&LikelyBenign) + || query.clinvar.germline_descriptions.contains(&Benign) } - "likely pathogenic" => query.clinvar.include_likely_pathogenic, - "uncertain significance" => query.clinvar.include_uncertain_significance, + "likely pathogenic" => query + .clinvar + .germline_descriptions + .contains(&LikelyPathogenic), + "uncertain significance" => query + .clinvar + .germline_descriptions + .contains(&UncertainSignificance), "conflicting classifications of pathogenicity" => { - query.clinvar.include_uncertain_significance + query.clinvar.allow_conflicting_interpretations } _ => { // We could also downtone this to debug. diff --git a/src/seqvars/query/interpreter/consequences.rs b/src/seqvars/query/interpreter/consequences.rs index 2803312f..e939f808 100644 --- a/src/seqvars/query/interpreter/consequences.rs +++ b/src/seqvars/query/interpreter/consequences.rs @@ -1,21 +1,22 @@ -use crate::seqvars::query::schema::{CaseQuery, SequenceVariant}; +use mehari::annotate::seqvars::ann; -/// Determine whether the `SequenceVariant` passes the consequences filter. -pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result { +use crate::seqvars::query::schema::{data::VariantRecord, query::CaseQuery}; + +/// Determine whether the `VariantRecord` passes the consequences filter. +pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> Result { // If no consequences are specified, the variant passes. - if query.consequences.is_empty() { + if query.consequence.consequences.is_empty() { return Ok(true); } // Variants on chrMT always pass. - let chrom = annonars::common::cli::canonicalize(&seqvar.chrom); + let chrom = annonars::common::cli::canonicalize(&seqvar.vcf_variant.chrom); if chrom == "MT" { return Ok(true); } - let query_csq = std::collections::BTreeSet::from_iter(query.consequences.iter().cloned()); + let query_csq: indexmap::IndexSet = indexmap::IndexSet::from_iter(query.consequence.consequences.iter().cloned().map(|c| c.into())); for ann_field in &seqvar.ann_fields { - let seqvar_csq = - std::collections::BTreeSet::from_iter(ann_field.consequences.iter().cloned()); + let seqvar_csq: indexmap::IndexSet = indexmap::IndexSet::from_iter(ann_field.consequences.iter().cloned()); let intersection_csq = query_csq.intersection(&seqvar_csq); if intersection_csq.count() > 0 { return Ok(true); @@ -25,34 +26,47 @@ pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result Result<(), anyhow::Error> { - for csq in Consequence::iter() { + use crate::seqvars::query::schema::query::Consequence; + + for csq in ann::Consequence::iter() { let query = CaseQuery { - consequences: Consequence::iter() - .filter(|c| (*c == csq) == c_equals_csq) - .collect(), + consequence: QuerySettingsConsequence { + consequences: Consequence::iter() + .filter(|c| (>::into(*c) == csq) == c_equals_csq) + .collect(), + ..Default::default() + }, ..Default::default() }; - let seq_var = SequenceVariant { - reference: "G".into(), - alternative: "A".into(), - ann_fields: vec![AnnField { + let seq_var = VariantRecord { + vcf_variant: VcfVariant { + chrom: "1".into(), + pos: 1, + ref_allele: "G".into(), + alt_allele: "A".into(), + ..Default::default() + }, + ann_fields: vec![ann::AnnField { allele: mehari::annotate::seqvars::ann::Allele::Alt { alternative: "A".into(), }, diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index 3131ab76..a507a609 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -1,69 +1,96 @@ -use crate::seqvars::query::schema::{CaseQuery, SequenceVariant}; +use crate::seqvars::query::schema::{ + data::{Af, VariantRecord}, + query::CaseQuery, +}; -/// Determine whether the `SequenceVariant` passes the frequency filter. -pub fn passes(query: &CaseQuery, s: &SequenceVariant) -> Result { - let pop = &query.population_frequency; - let is_mtdna = annonars::common::cli::canonicalize(&s.chrom) == "MT"; +/// Determine whether the `VariantRecord` passes the frequency filter. +pub fn passes(query: &CaseQuery, s: &VariantRecord) -> Result { + let frequency = &query.frequency; + let is_mtdna = annonars::common::cli::canonicalize(&s.vcf_variant.chrom) == "MT"; if is_mtdna { - if pop.helixmtdb.enabled - && (pop.helixmtdb.frequency.is_some() - && s.helixmtdb_af() > pop.helixmtdb.frequency.expect("tested before") - || pop.helixmtdb.heteroplasmic.is_some() + if frequency.helixmtdb.enabled + && (frequency.helixmtdb.frequency.is_some() + && s.population_frequencies.helixmtdb.af() + > frequency.helixmtdb.frequency.expect("tested before") + || frequency.helixmtdb.heteroplasmic.is_some() && s.population_frequencies.helixmtdb.het - > pop.helixmtdb.heteroplasmic.expect("tested before") - || pop.helixmtdb.homoplasmic.is_some() + > frequency.helixmtdb.heteroplasmic.expect("tested before") + || frequency.helixmtdb.homoplasmic.is_some() && s.population_frequencies.helixmtdb.hom - > pop.helixmtdb.homoplasmic.expect("tested before")) + > frequency.helixmtdb.homoplasmic.expect("tested before")) { tracing::trace!( "variant {:?} fails HelixMtDb frequency filter {:?}", s, - &pop + &frequency.helixmtdb + ); + return Ok(false); + } + if frequency.gnomad_mt.enabled + && (frequency.gnomad_mt.frequency.is_some() + && s.population_frequencies.gnomad_mt.af() + > frequency.gnomad_mt.frequency.expect("tested before") + || frequency.gnomad_mt.heteroplasmic.is_some() + && s.population_frequencies.gnomad_mt.het + > frequency.gnomad_mt.heteroplasmic.expect("tested before") + || frequency.gnomad_mt.homoplasmic.is_some() + && s.population_frequencies.gnomad_mt.hom + > frequency.gnomad_mt.homoplasmic.expect("tested before")) + { + tracing::trace!( + "variant {:?} fails gnomAD-MT frequency filter {:?}", + s, + &frequency.gnomad_mt + ); + return Ok(false); + } + } else { + if frequency.gnomad_exomes.enabled + && (frequency.gnomad_exomes.frequency.is_some() + && s.population_frequencies.gnomad_exomes.af() + > frequency.gnomad_exomes.frequency.expect("tested before") + || frequency.gnomad_exomes.heterozygous.is_some() + && s.population_frequencies.gnomad_exomes.het + > frequency.gnomad_exomes.heterozygous.expect("tested before") + || frequency.gnomad_exomes.homozygous.is_some() + && s.population_frequencies.gnomad_exomes.hom + > frequency.gnomad_exomes.homozygous.expect("tested before") + || frequency.gnomad_exomes.hemizygous.is_some() + && s.population_frequencies.gnomad_exomes.hemi + > frequency.gnomad_exomes.hemizygous.expect("tested before")) + { + tracing::trace!( + "variant {:?} fails gnomAD-exomes frequency filter {:?}", + s, + &frequency.gnomad_exomes + ); + return Ok(false); + } + if frequency.gnomad_genomes.enabled + && (frequency.gnomad_genomes.frequency.is_some() + && s.population_frequencies.gnomad_genomes.af() + > frequency.gnomad_genomes.frequency.expect("tested before") + || frequency.gnomad_genomes.heterozygous.is_some() + && s.population_frequencies.gnomad_genomes.het + > frequency + .gnomad_genomes + .heterozygous + .expect("tested before") + || frequency.gnomad_genomes.homozygous.is_some() + && s.population_frequencies.gnomad_genomes.hom + > frequency.gnomad_genomes.homozygous.expect("tested before") + || frequency.gnomad_genomes.hemizygous.is_some() + && s.population_frequencies.gnomad_genomes.hemi + > frequency.gnomad_genomes.hemizygous.expect("tested before")) + { + tracing::trace!( + "variant {:?} fails gnomAD-genomes frequency filter {:?}", + s, + &frequency.gnomad_genomes ); return Ok(false); } - } else if pop.gnomad_exomes.enabled - && (pop.gnomad_exomes.allele_frequency.is_some() - && s.gnomad_exomes_af() > pop.gnomad_exomes.allele_frequency.expect("tested before") - || pop.gnomad_exomes.heterozygous.is_some() - && s.population_frequencies.gnomad.exomes_het - > pop.gnomad_exomes.heterozygous.expect("tested before") - || pop.gnomad_exomes.homozygous.is_some() - && s.population_frequencies.gnomad.exomes_hom - > pop.gnomad_exomes.homozygous.expect("tested before") - || pop.gnomad_exomes.hemizygous.is_some() - && s.population_frequencies.gnomad.exomes_hemi - > pop.gnomad_exomes.hemizygous.expect("tested before")) - { - tracing::trace!( - "variant {:?} fails gnomAD exomes frequency filter {:?}", - s, - &pop.gnomad_exomes.allele_frequency - ); - return Ok(false); - } - - if pop.gnomad_genomes.enabled - && (pop.gnomad_genomes.allele_frequency.is_some() - && s.gnomad_genomes_af() > pop.gnomad_genomes.allele_frequency.expect("tested before") - || pop.gnomad_genomes.heterozygous.is_some() - && s.population_frequencies.gnomad.genomes_het - > pop.gnomad_genomes.heterozygous.expect("tested before") - || pop.gnomad_genomes.homozygous.is_some() - && s.population_frequencies.gnomad.genomes_hom - > pop.gnomad_genomes.homozygous.expect("tested before") - || !is_mtdna - && pop.gnomad_genomes.hemizygous.is_some() - && s.population_frequencies.gnomad.genomes_hemi - > pop.gnomad_genomes.hemizygous.expect("tested before")) - { - tracing::trace!( - "variant {:?} fails gnomAD genomes allele_frequency filter {:?}", - s, - &pop.gnomad_genomes.allele_frequency - ); - return Ok(false); } Ok(true) @@ -76,7 +103,14 @@ mod test { use rstest::rstest; use crate::seqvars::query::schema::{ - CaseQuery, HelixMtDBs, PopulationFrequencies, SequenceVariant, + data::{ + MitochondrialFrequencies, NuclearFrequencies, PopulationFrequencies, VariantRecord, + VcfVariant, + }, + query::{ + CaseQuery, GnomadNuclearFrequencySettings, HelixMtDbFrequencySettings, + QuerySettingsFrequency, + }, }; #[rstest] @@ -144,15 +178,11 @@ mod test { #[case] query_gnomad_exomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::{ - GnomadNuclearOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, - }; - let query = CaseQuery { - population_frequency: PopulationFrequencyOptions { - gnomad_exomes: GnomadNuclearOptions { + frequency: QuerySettingsFrequency { + gnomad_exomes: GnomadNuclearFrequencySettings { enabled: query_gnomad_exomes_enabled, - allele_frequency: query_gnomad_exomes_frequency, + frequency: query_gnomad_exomes_frequency, heterozygous: query_gnomad_exomes_heterozygous, homozygous: query_gnomad_exomes_homozygous, hemizygous: query_gnomad_exomes_hemizygous, @@ -162,20 +192,23 @@ mod test { }, ..Default::default() }; - let seq_var = SequenceVariant { + let seq_var = VariantRecord { population_frequencies: PopulationFrequencies { - gnomad: Gnomads { - exomes_an: seqvar_gnomad_exomes_an, - exomes_het: seqvar_gnomad_exomes_het, - exomes_hom: seqvar_gnomad_exomes_hom, - exomes_hemi: seqvar_gnomad_exomes_hemi, + gnomad_exomes: NuclearFrequencies { + an: seqvar_gnomad_exomes_an, + het: seqvar_gnomad_exomes_het, + hom: seqvar_gnomad_exomes_hom, + hemi: seqvar_gnomad_exomes_hemi, ..Default::default() }, ..Default::default() }, - chrom: "X".to_string(), - reference: "G".into(), - alternative: "A".into(), + vcf_variant: VcfVariant { + chrom: "X".to_string(), + pos: 1, + ref_allele: "G".into(), + alt_allele: "A".into(), + }, ann_fields: vec![AnnField { allele: mehari::annotate::seqvars::ann::Allele::Alt { alternative: "A".into(), @@ -187,6 +220,7 @@ mod test { feature_type: mehari::annotate::seqvars::ann::FeatureType::SoTerm { term: mehari::annotate::seqvars::ann::SoFeature::Transcript, }, + strand: Default::default(), feature_id: Default::default(), feature_biotype: vec![mehari::annotate::seqvars::ann::FeatureBiotype::Coding], rank: Default::default(), @@ -271,15 +305,11 @@ mod test { #[case] query_gnomad_genomes_hemizygous: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::{ - GnomadNuclearOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, - }; - let query = CaseQuery { - population_frequency: PopulationFrequencyOptions { - gnomad_genomes: GnomadNuclearOptions { + frequency: QuerySettingsFrequency { + gnomad_genomes: GnomadNuclearFrequencySettings { enabled: query_gnomad_genomes_enabled, - allele_frequency: query_gnomad_genomes_frequency, + frequency: query_gnomad_genomes_frequency, heterozygous: query_gnomad_genomes_heterozygous, homozygous: query_gnomad_genomes_homozygous, hemizygous: query_gnomad_genomes_hemizygous, @@ -289,20 +319,23 @@ mod test { }, ..Default::default() }; - let seq_var = SequenceVariant { + let seq_var = VariantRecord { population_frequencies: PopulationFrequencies { - gnomad: Gnomads { - genomes_an: seqvar_gnomad_genomes_an, - genomes_het: seqvar_gnomad_genomes_het, - genomes_hom: seqvar_gnomad_genomes_hom, - genomes_hemi: seqvar_gnomad_genomes_hemi, + gnomad_genomes: NuclearFrequencies { + an: seqvar_gnomad_genomes_an, + het: seqvar_gnomad_genomes_het, + hom: seqvar_gnomad_genomes_hom, + hemi: seqvar_gnomad_genomes_hemi, ..Default::default() }, ..Default::default() }, - chrom: "X".to_string(), - reference: "G".into(), - alternative: "A".into(), + vcf_variant: VcfVariant { + chrom: "X".to_string(), + pos: 1, + ref_allele: "G".into(), + alt_allele: "A".into(), + }, ann_fields: vec![AnnField { allele: mehari::annotate::seqvars::ann::Allele::Alt { alternative: "A".into(), @@ -314,6 +347,7 @@ mod test { feature_type: mehari::annotate::seqvars::ann::FeatureType::SoTerm { term: mehari::annotate::seqvars::ann::SoFeature::Transcript, }, + strand: Default::default(), feature_id: Default::default(), feature_biotype: vec![mehari::annotate::seqvars::ann::FeatureBiotype::Coding], rank: Default::default(), @@ -373,38 +407,39 @@ mod test { #[case] seqvar_helix_an: i32, #[case] seqvar_helix_het: i32, #[case] seqvar_helix_hom: i32, - #[case] query_helix_enabled: bool, - #[case] query_helix_frequency: Option, - #[case] query_helix_heteroplasmic: Option, - #[case] query_helix_homoplasmic: Option, + #[case] query_helixmtdb_enabled: bool, + #[case] query_helixmtdb_frequency: Option, + #[case] query_helixmtdb_heteroplasmic: Option, + #[case] query_helixmtdb_homoplasmic: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::{HelixMtDbOptions, PopulationFrequencyOptions}; - let query = CaseQuery { - population_frequency: PopulationFrequencyOptions { - helixmtdb: HelixMtDbOptions { - enabled: query_helix_enabled, - frequency: query_helix_frequency, - heteroplasmic: query_helix_heteroplasmic, - homoplasmic: query_helix_homoplasmic, + frequency: QuerySettingsFrequency { + helixmtdb: HelixMtDbFrequencySettings { + enabled: query_helixmtdb_enabled, + frequency: query_helixmtdb_frequency, + heteroplasmic: query_helixmtdb_heteroplasmic, + homoplasmic: query_helixmtdb_homoplasmic, }, ..Default::default() }, ..Default::default() }; - let seq_var = SequenceVariant { + let seq_var = VariantRecord { population_frequencies: PopulationFrequencies { - helixmtdb: HelixMtDBs { + helixmtdb: MitochondrialFrequencies { an: seqvar_helix_an, het: seqvar_helix_het, hom: seqvar_helix_hom, }, ..Default::default() }, - chrom: "MT".to_string(), - reference: "G".into(), - alternative: "A".into(), + vcf_variant: VcfVariant { + chrom: "MT".to_string(), + pos: 1, + ref_allele: "G".into(), + alt_allele: "A".into(), + }, ann_fields: vec![AnnField { allele: mehari::annotate::seqvars::ann::Allele::Alt { alternative: "A".into(), @@ -416,6 +451,7 @@ mod test { feature_type: mehari::annotate::seqvars::ann::FeatureType::SoTerm { term: mehari::annotate::seqvars::ann::SoFeature::Transcript, }, + strand: Default::default(), feature_id: Default::default(), feature_biotype: vec![mehari::annotate::seqvars::ann::FeatureBiotype::Coding], rank: Default::default(), @@ -472,46 +508,45 @@ mod test { // hom. count: pass (fail but filter is disabled) #[case(1000, 0, 2, false, None, None, Some(1), true)] #[allow(clippy::too_many_arguments)] - fn passes_frequency_gnomad_genomes_chrmt( + fn passes_frequency_gnomad_mtdna( #[case] seqvar_gnomad_genomes_an: i32, #[case] seqvar_gnomad_genomes_het: i32, #[case] seqvar_gnomad_genomes_hom: i32, - #[case] query_gnomad_genomes_enabled: bool, - #[case] query_gnomad_genomes_frequency: Option, - #[case] query_gnomad_genomes_heteroplasmic: Option, - #[case] query_gnomad_genomes_homoplasmic: Option, + #[case] query_gnomad_mtdna_enabled: bool, + #[case] query_gnomad_mtdna_frequency: Option, + #[case] query_gnomad_mtdna_heteroplasmic: Option, + #[case] query_gnomad_mtdna_homoplasmic: Option, #[case] expected_pass_all: bool, ) -> Result<(), anyhow::Error> { - use crate::seqvars::query::schema::{ - GnomadNuclearOptions, Gnomads, PopulationFrequencies, PopulationFrequencyOptions, - }; - let query = CaseQuery { - population_frequency: PopulationFrequencyOptions { - gnomad_genomes: GnomadNuclearOptions { - enabled: query_gnomad_genomes_enabled, - allele_frequency: query_gnomad_genomes_frequency, - heterozygous: query_gnomad_genomes_heteroplasmic, - homozygous: query_gnomad_genomes_homoplasmic, + frequency: QuerySettingsFrequency { + gnomad_genomes: GnomadNuclearFrequencySettings { + enabled: query_gnomad_mtdna_enabled, + frequency: query_gnomad_mtdna_frequency, + heterozygous: query_gnomad_mtdna_heteroplasmic, + homozygous: query_gnomad_mtdna_homoplasmic, ..Default::default() }, ..Default::default() }, ..Default::default() }; - let seq_var = SequenceVariant { + let seq_var = VariantRecord { population_frequencies: PopulationFrequencies { - gnomad: Gnomads { - genomes_an: seqvar_gnomad_genomes_an, - genomes_het: seqvar_gnomad_genomes_het, - genomes_hom: seqvar_gnomad_genomes_hom, + gnomad_mt: MitochondrialFrequencies { + an: seqvar_gnomad_genomes_an, + het: seqvar_gnomad_genomes_het, + hom: seqvar_gnomad_genomes_hom, ..Default::default() }, ..Default::default() }, - chrom: "MT".to_string(), - reference: "G".into(), - alternative: "A".into(), + vcf_variant: VcfVariant { + chrom: "MT".to_string(), + pos: 1, + ref_allele: "G".into(), + alt_allele: "A".into(), + }, ann_fields: vec![AnnField { allele: mehari::annotate::seqvars::ann::Allele::Alt { alternative: "A".into(), @@ -523,6 +558,7 @@ mod test { feature_type: mehari::annotate::seqvars::ann::FeatureType::SoTerm { term: mehari::annotate::seqvars::ann::SoFeature::Transcript, }, + strand: Default::default(), feature_id: Default::default(), feature_biotype: vec![mehari::annotate::seqvars::ann::FeatureBiotype::Coding], rank: Default::default(), diff --git a/src/seqvars/query/interpreter/genes_allowlist.rs b/src/seqvars/query/interpreter/genes_allowlist.rs index 1708aa3a..1472052f 100644 --- a/src/seqvars/query/interpreter/genes_allowlist.rs +++ b/src/seqvars/query/interpreter/genes_allowlist.rs @@ -1,28 +1,24 @@ use std::collections::HashSet; -use crate::seqvars::query::schema::SequenceVariant; +use crate::seqvars::query::schema::data::VariantRecord; -/// Determine whether the `SequenceVariant` passes the genes allowlist filter. -pub fn passes(hgnc_allowlist: &Option>, seqvar: &SequenceVariant) -> bool { - if let Some(hgnc_allowlist) = &hgnc_allowlist { - if hgnc_allowlist.is_empty() { - true - } else { - let res = seqvar - .ann_fields - .iter() - .any(|ann_field| hgnc_allowlist.contains(&ann_field.gene_id)); - if !res { - tracing::trace!( - "variant {:?} fails gene allowlist filter {:?}", - seqvar, - &hgnc_allowlist - ); - } - res - } - } else { +/// Determine whether the `VariantRecord` passes the genes allowlist filter. +pub fn passes(hgnc_allowlist: &HashSet, seqvar: &VariantRecord) -> bool { + if hgnc_allowlist.is_empty() { true + } else { + let res = seqvar + .ann_fields + .iter() + .any(|ann_field| hgnc_allowlist.contains(&ann_field.gene_id)); + if !res { + tracing::trace!( + "variant {:?} fails gene allowlist filter {:?}", + seqvar, + &hgnc_allowlist + ); + } + res } } @@ -30,48 +26,46 @@ pub fn passes(hgnc_allowlist: &Option>, seqvar: &SequenceVariant mod test { use rstest::rstest; - use crate::seqvars::query::schema::SequenceVariant; + use crate::seqvars::query::schema::data::VariantRecord; use mehari::annotate::seqvars::ann::AnnField; #[rstest] - #[case(None, None, true)] + #[case(vec![], None, true)] #[case( - Some(vec![]), + vec![], None, true, )] #[case( - Some(vec![String::from("HGNC:1100")]), + vec![String::from("HGNC:1100")], None, false, )] #[case( - Some(vec![String::from("HGNC:1")]), + vec![String::from("HGNC:1")], Some(String::from("HGNC:1100")), false, )] #[case( - Some(vec![String::from("HGNC:1100")]), + vec![String::from("HGNC:1100")], Some(String::from("HGNC:1100")), true, )] #[case( - Some(vec![String::from("HGNC:1"), String::from("HGNC:1100")]), + vec![String::from("HGNC:1"), String::from("HGNC:1100")], Some(String::from("HGNC:1100")), true, )] fn passes( - #[case] hgnc_allowlist: Option>, + #[case] hgnc_allowlist: Vec, #[case] seqvar_gene: Option, #[case] expected: bool, ) { - let hgnc_allowlist = hgnc_allowlist.map(|hgnc_allowlist| { - hgnc_allowlist - .into_iter() - .map(|hgnc_id| hgnc_id.to_uppercase()) - .collect::>() - }); - let seqvar = SequenceVariant { + let hgnc_allowlist = hgnc_allowlist + .into_iter() + .map(|hgnc_id| hgnc_id.to_uppercase()) + .collect::>(); + let seqvar = VariantRecord { ann_fields: if let Some(gene_id) = seqvar_gene.as_ref() { vec![AnnField { gene_id: gene_id.clone(), diff --git a/src/seqvars/query/interpreter/genotype.rs b/src/seqvars/query/interpreter/genotype.rs index 8a1318fe..0da62c02 100644 --- a/src/seqvars/query/interpreter/genotype.rs +++ b/src/seqvars/query/interpreter/genotype.rs @@ -1,16 +1,18 @@ -use crate::seqvars::query::schema::{CaseQuery, GenotypeChoice, SequenceVariant}; +use crate::seqvars::query::schema::{ + data::VariantRecord, + query::{ + CaseQuery, GenotypeChoice, MatchesGenotypeStr as _, QuerySettingsGenotype, RecessiveMode, + }, +}; -/// Determine whether the `SequenceVariant` passes the genotype filter. +/// Determine whether the `VariantRecord` passes the genotype filter. pub fn passes( query: &CaseQuery, - seqvar: &SequenceVariant, + seqvar: &VariantRecord, no_call_samples: &[&str], ) -> Result { - let result = if query.recessive_mode() { - let index_sample = query.index_sample().ok_or_else(|| { - anyhow::anyhow!("recessive mode requires an index sample, but none was found") - })?; - passes_recessive_modes(&query.genotype, &index_sample, seqvar, no_call_samples)? + let result = if query.genotype.recessive_mode != RecessiveMode::Disabled { + passes_recessive_modes(&query.genotype, seqvar, no_call_samples)? } else { passes_non_recessive_mode(&query.genotype, seqvar, no_call_samples)? }; @@ -27,33 +29,42 @@ pub fn passes( /// Handle case of the mode being one of the recessive modes. fn passes_recessive_modes( - query_genotype: &indexmap::IndexMap>, - index_name: &str, - seqvar: &SequenceVariant, + query_genotype: &QuerySettingsGenotype, + seqvar: &VariantRecord, no_call_samples: &[&str], ) -> Result { + // Pick recessive index and parent names from query. + let index_name = query_genotype.recessive_index().map_err(|e| { + anyhow::anyhow!( + "invalid recessive index in genotype filter {:?}: {}", + &query_genotype, + e + ) + })?; + let parent_names = query_genotype.recessive_parents().map_err(|e| { + anyhow::anyhow!( + "invalid recessive parents in genotype filter {:?}: {}", + &query_genotype, + e + ) + })?; + // Get genotype choice of index. let index_gt_choice = query_genotype - .get(index_name) + .sample_genotypes + .get(&index_name) .ok_or_else(|| { anyhow::anyhow!( "index sample {} not found in genotype filter {:?}", &index_name, &query_genotype ) - })? - .ok_or_else(|| { - anyhow::anyhow!( - "index sample {} has no genotype choice in genotype filter {:?}", - &index_name, - &query_genotype - ) })?; // For recessive mode, we have to know the samples selected for index and parents. - let index_gt_string = if no_call_samples.contains(&index_name) { + let index_gt_string = if no_call_samples.contains(&index_name.as_str()) { String::from(".") } else { - let call_info = seqvar.call_info.get(index_name).ok_or_else(|| { + let call_info = seqvar.call_infos.get(&index_name).ok_or_else(|| { anyhow::anyhow!( "index sample {} not found in call info for {:?}", &index_name, @@ -69,12 +80,10 @@ fn passes_recessive_modes( })? }; let parent_names = query_genotype + .sample_genotypes .iter() .flat_map(|(sample, choice)| { - if matches!( - choice, - Some(crate::seqvars::query::schema::GenotypeChoice::RecessiveParent) - ) { + if choice.genotype == GenotypeChoice::RecessiveParent { Some(sample.clone()) } else { None @@ -88,7 +97,7 @@ fn passes_recessive_modes( Ok(String::from(".")) // no-call } else { seqvar - .call_info + .call_infos .get(parent_name) .cloned() .ok_or_else(|| { @@ -110,32 +119,18 @@ fn passes_recessive_modes( }) .collect::, _>>()?; - let compound_recessive_ok_index = crate::seqvars::query::schema::GenotypeChoice::Het - .matches(&index_gt_string) - .map_err(|e| anyhow::anyhow!("invalid index genotype: {}", e))?; + let compound_recessive_ok_index = GenotypeChoice::Het.matches(&index_gt_string); let compound_recessive_parents_ref = parent_gt_strings .iter() - .filter(|parent_gt_string| { - crate::seqvars::query::schema::GenotypeChoice::Ref - .matches(parent_gt_string) - .unwrap_or(false) - }) + .filter(|parent_gt_string| GenotypeChoice::Ref.matches(parent_gt_string)) .count(); let compound_recessive_parents_het = parent_gt_strings .iter() - .filter(|parent_gt_string| { - crate::seqvars::query::schema::GenotypeChoice::Het - .matches(parent_gt_string) - .unwrap_or(false) - }) + .filter(|parent_gt_string| GenotypeChoice::Het.matches(parent_gt_string)) .count(); let compound_recessive_parents_hom = parent_gt_strings .iter() - .filter(|parent_gt_string| { - crate::seqvars::query::schema::GenotypeChoice::Hom - .matches(parent_gt_string) - .unwrap_or(false) - }) + .filter(|parent_gt_string| GenotypeChoice::Hom.matches(parent_gt_string)) .count(); let compound_recessive_ok = match parent_names.len() { @@ -154,25 +149,20 @@ fn passes_recessive_modes( _ => anyhow::bail!("more than two recessive parents selected"), }; - let homozygous_recessive_ok_index = crate::seqvars::query::schema::GenotypeChoice::Hom - .matches(&index_gt_string) - .map_err(|e| anyhow::anyhow!("invalid index genotype: {}", e))?; + let homozygous_recessive_ok_index = GenotypeChoice::Hom.matches(&index_gt_string); let homozygous_recessive_ok_parents = parent_gt_strings .iter() - .map(|parent_gt_string| { - crate::seqvars::query::schema::GenotypeChoice::Het - .matches(parent_gt_string) - .map_err(|e| anyhow::anyhow!("invalid parent genotype: {}", e)) - }) - .collect::, _>>()?; + .map(|parent_gt_string| GenotypeChoice::Het.matches(parent_gt_string)) + .collect::>(); let homozygous_recessive_ok = homozygous_recessive_ok_index && homozygous_recessive_ok_parents.iter().all(|&ok| ok); - match index_gt_choice { - GenotypeChoice::ComphetIndex => Ok(compound_recessive_ok), - GenotypeChoice::RecessiveIndex => Ok(compound_recessive_ok || homozygous_recessive_ok), + match query_genotype.recessive_mode { + RecessiveMode::CompoundHeterozygous => Ok(compound_recessive_ok), + RecessiveMode::Homozygous => Ok(homozygous_recessive_ok), + RecessiveMode::Any => Ok(compound_recessive_ok || homozygous_recessive_ok), _ => anyhow::bail!( - "invalid genotype choice for recessive mode: {:?}", + "invalid recessive mode choice for recessive mode: {:?}", index_gt_choice ), } @@ -181,20 +171,14 @@ fn passes_recessive_modes( /// Handle case if the mode is not "recessive". Note that this actually includes the /// homozygous recessive mode. fn passes_non_recessive_mode( - query_genotype: &indexmap::IndexMap>, - seqvar: &SequenceVariant, + query_genotype: &QuerySettingsGenotype, + seqvar: &VariantRecord, no_call_samples: &[&str], ) -> Result { - for (sample_name, genotype) in query_genotype.iter() { - let genotype_choice = if let Some(genotype_choice) = genotype { - genotype_choice - } else { - tracing::trace!("no genotype choice for sample {} (skip&pass)", sample_name); - continue; - }; + for (sample_name, genotype_choice) in query_genotype.sample_genotypes.iter() { let genotype = if no_call_samples.contains(&sample_name.as_str()) { "." // no-call - } else if let Some(call_info) = seqvar.call_info.get(sample_name) { + } else if let Some(call_info) = seqvar.call_infos.get(sample_name) { if let Some(genotype) = call_info.genotype.as_ref() { genotype } else { @@ -206,10 +190,7 @@ fn passes_non_recessive_mode( return Ok(false); }; - if !genotype_choice - .matches(genotype) - .map_err(|e| anyhow::anyhow!("invalid genotype choice in {:?}: {}", &seqvar, e))? - { + if !genotype_choice.genotype.matches(genotype) { tracing::trace!( "variant {:?} fails genotype filter {:?} on sample {}", seqvar, @@ -225,19 +206,17 @@ fn passes_non_recessive_mode( #[cfg(test)] mod test { - use rstest::rstest; - - use crate::seqvars::query::schema::{ - CallInfo, + use crate::seqvars::query::schema::data::{CallInfo, VariantRecord}; + use crate::seqvars::query::schema::query::{ GenotypeChoice::{self, *}, - SequenceVariant, + QuerySettingsGenotype, RecessiveMode, SampleGenotypeChoice, }; static INDEX_NAME: &str = "sample"; static FATHER_NAME: &str = "father"; static MOTHER_NAME: &str = "mother"; - #[rstest] + #[rstest::rstest] // any: passes #[case("0/0", Any, true)] #[case("0|0", Any, true)] @@ -333,20 +312,25 @@ mod test { #[case] query_gt: GenotypeChoice, #[case] expected: bool, ) -> Result<(), anyhow::Error> { - let query_genotype: indexmap::IndexMap<_, _> = - vec![(String::from(INDEX_NAME), Some(query_gt))] - .into_iter() - .collect(); - let seq_var = SequenceVariant { - call_info: vec![( - INDEX_NAME.into(), + let query_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::Any, + sample_genotypes: indexmap::indexmap! { + String::from(INDEX_NAME) => SampleGenotypeChoice { + sample: String::from(INDEX_NAME), + genotype: query_gt, + ..Default::default() + } + }, + }; + + let seq_var = VariantRecord { + call_infos: indexmap::indexmap! { + INDEX_NAME.into() => CallInfo { genotype: Some(sample_gt.into()), ..Default::default() }, - )] - .into_iter() - .collect(), + }, ..Default::default() }; @@ -362,7 +346,7 @@ mod test { Ok(()) } - #[rstest] + #[rstest::rstest] // any: passes #[case("0/0,0/0,0/0", Any, Any, Any, true)] #[case(".,.,.", Any, Any, Any, true)] @@ -392,43 +376,48 @@ mod test { #[case] query_gt_mother: GenotypeChoice, #[case] expected: bool, ) -> Result<(), anyhow::Error> { - let query_genotype: indexmap::IndexMap<_, _> = vec![ - (String::from(INDEX_NAME), Some(query_gt_index)), - (String::from(FATHER_NAME), Some(query_gt_father)), - (String::from(MOTHER_NAME), Some(query_gt_mother)), - ] - .into_iter() - .collect(); + let query_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::Any, + sample_genotypes: indexmap::indexmap! { + String::from(INDEX_NAME) => SampleGenotypeChoice { + sample: String::from(INDEX_NAME), + genotype: query_gt_index, + ..Default::default() + }, + String::from(FATHER_NAME) => SampleGenotypeChoice { + sample: String::from(FATHER_NAME), + genotype: query_gt_father, + ..Default::default() + }, + String::from(MOTHER_NAME) => SampleGenotypeChoice { + sample: String::from(MOTHER_NAME), + genotype: query_gt_mother, + ..Default::default() + }, + }, + }; let sample_gts = sample_gts .split(',') .map(|s| s.to_string()) .collect::>(); - let seq_var = SequenceVariant { - call_info: vec![ - ( - String::from(INDEX_NAME), - CallInfo { - genotype: Some(sample_gts[0].clone()), - ..Default::default() - }, - ), - ( - String::from(FATHER_NAME), - CallInfo { - genotype: Some(sample_gts[1].clone()), - ..Default::default() - }, - ), - ( - String::from(MOTHER_NAME), - CallInfo { - genotype: Some(sample_gts[2].clone()), - ..Default::default() - }, - ), - ] - .into_iter() - .collect(), + let seq_var = VariantRecord { + call_infos: indexmap::indexmap! { + String::from(INDEX_NAME) => + CallInfo { + genotype: Some(sample_gts[0].clone()), + ..Default::default() + }, + String::from(FATHER_NAME) => + CallInfo { + genotype: Some(sample_gts[1].clone()), + ..Default::default() + }, + String::from(MOTHER_NAME) => + CallInfo { + genotype: Some(sample_gts[2].clone()), + ..Default::default() + }, + }, ..Default::default() }; @@ -447,29 +436,32 @@ mod test { Ok(()) } - #[rstest] + #[rstest::rstest] // any: passes - #[case("0/0", ComphetIndex)] #[case("0/0", RecessiveIndex)] #[case("0/0", RecessiveParent)] fn passes_non_recessive_mode_fails_on_recessive_markers( #[case] sample_gt: &str, #[case] query_gt: GenotypeChoice, ) -> Result<(), anyhow::Error> { - let query_genotype: indexmap::IndexMap<_, _> = - vec![(String::from(INDEX_NAME), Some(query_gt))] - .into_iter() - .collect(); - let seq_var = SequenceVariant { - call_info: vec![( - INDEX_NAME.into(), + let query_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::Any, + sample_genotypes: indexmap::indexmap! { + String::from(INDEX_NAME) => SampleGenotypeChoice { + sample: String::from(INDEX_NAME), + genotype: query_gt, + ..Default::default() + } + }, + }; + let seq_var = VariantRecord { + call_infos: indexmap::indexmap! { + INDEX_NAME.into() => CallInfo { genotype: Some(sample_gt.into()), ..Default::default() }, - )] - .into_iter() - .collect(), + }, ..Default::default() }; @@ -478,22 +470,22 @@ mod test { Ok(()) } - #[rstest] - // comphet-index: passes - #[case("0/1", ComphetIndex, true)] - #[case("0|1", ComphetIndex, true)] - #[case("1/0", ComphetIndex, true)] - #[case("1|0", ComphetIndex, true)] - // comphet-index: passes NOT - #[case("0/0", ComphetIndex, false)] - #[case("0|0", ComphetIndex, false)] - #[case("0", ComphetIndex, false)] - #[case("1/1", ComphetIndex, false)] - #[case("1|1", ComphetIndex, false)] - #[case("1", ComphetIndex, false)] - #[case(".", ComphetIndex, false)] - #[case("./.", ComphetIndex, false)] - #[case(".|.", ComphetIndex, false)] + #[rstest::rstest] + // // comphet-index: passes + // #[case("0/1", ComphetIndex, true)] + // #[case("0|1", ComphetIndex, true)] + // #[case("1/0", ComphetIndex, true)] + // #[case("1|0", ComphetIndex, true)] + // // comphet-index: passes NOT + // #[case("0/0", ComphetIndex, false)] + // #[case("0|0", ComphetIndex, false)] + // #[case("0", ComphetIndex, false)] + // #[case("1/1", ComphetIndex, false)] + // #[case("1|1", ComphetIndex, false)] + // #[case("1", ComphetIndex, false)] + // #[case(".", ComphetIndex, false)] + // #[case("./.", ComphetIndex, false)] + // #[case(".|.", ComphetIndex, false)] // recessive-index: passes #[case("0/1", RecessiveIndex, true)] #[case("0|1", RecessiveIndex, true)] @@ -514,25 +506,29 @@ mod test { #[case] query_gt: GenotypeChoice, #[case] expected: bool, ) -> Result<(), anyhow::Error> { - let query_genotype: indexmap::IndexMap<_, _> = - vec![(String::from(INDEX_NAME), Some(query_gt))] - .into_iter() - .collect(); - let seq_var = SequenceVariant { - call_info: vec![( - INDEX_NAME.into(), + let query_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::Any, + sample_genotypes: indexmap::indexmap! { + String::from(INDEX_NAME) => SampleGenotypeChoice { + sample: String::from(INDEX_NAME), + genotype: query_gt, + ..Default::default() + } + }, + }; + let seq_var = VariantRecord { + call_infos: indexmap::indexmap! { + INDEX_NAME.into() => CallInfo { genotype: Some(sample_gt.into()), ..Default::default() }, - )] - .into_iter() - .collect(), + }, ..Default::default() }; assert_eq!( - super::passes_recessive_modes(&query_genotype, INDEX_NAME, &seq_var, &[])?, + super::passes_recessive_modes(&query_genotype, &seq_var, &[])?, expected, "sample_gt = {}, query_gt = {:?}, expected = {}", sample_gt, @@ -543,7 +539,7 @@ mod test { Ok(()) } - #[rstest] + #[rstest::rstest] // recessive mode: passes #[case("0/1,0/0,0/0", RecessiveIndex, Any, Any, true)] #[case("0|1,0/0,0/0", RecessiveIndex, Any, Any, true)] @@ -561,22 +557,22 @@ mod test { #[case("0/1,1/1,0/0", RecessiveIndex, RecessiveParent, RecessiveParent, false)] #[case("0/1,0/0,1/1", RecessiveIndex, RecessiveParent, RecessiveParent, false)] #[case("0/1,0/1,0/1", RecessiveIndex, RecessiveParent, RecessiveParent, false)] - // compound recessive mode: passes - #[case("0/1,0/0,0/0", ComphetIndex, Any, Any, true)] - #[case("0|1,0/0,0/0", ComphetIndex, Any, Any, true)] - #[case("1/0,0/0,0/0", ComphetIndex, Any, Any, true)] - #[case("1|0,0/0,0/0", ComphetIndex, Any, Any, true)] - #[case("0/1,1/1,0/0", ComphetIndex, Any, RecessiveParent, true)] - #[case("0/1,0/0,1/1", ComphetIndex, RecessiveParent, Any, true)] - #[case("1/0,0/1,0/0", ComphetIndex, RecessiveParent, RecessiveParent, true)] - #[case("1/0,0/0,0/1", ComphetIndex, RecessiveParent, RecessiveParent, true)] - // compound recessive mode: passes NOT - #[case("1/1,0/1,0/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] - #[case("1|1,0|1,1|0", ComphetIndex, RecessiveParent, RecessiveParent, false)] - #[case("0/1,0/0,0/0", ComphetIndex, RecessiveParent, RecessiveParent, false)] - #[case("0/1,1/1,0/0", ComphetIndex, RecessiveParent, RecessiveParent, false)] - #[case("0/1,0/0,1/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] - #[case("0/1,0/1,0/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] + // // compound recessive mode: passes + // #[case("0/1,0/0,0/0", ComphetIndex, Any, Any, true)] + // #[case("0|1,0/0,0/0", ComphetIndex, Any, Any, true)] + // #[case("1/0,0/0,0/0", ComphetIndex, Any, Any, true)] + // #[case("1|0,0/0,0/0", ComphetIndex, Any, Any, true)] + // #[case("0/1,1/1,0/0", ComphetIndex, Any, RecessiveParent, true)] + // #[case("0/1,0/0,1/1", ComphetIndex, RecessiveParent, Any, true)] + // #[case("1/0,0/1,0/0", ComphetIndex, RecessiveParent, RecessiveParent, true)] + // #[case("1/0,0/0,0/1", ComphetIndex, RecessiveParent, RecessiveParent, true)] + // // compound recessive mode: passes NOT + // #[case("1/1,0/1,0/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] + // #[case("1|1,0|1,1|0", ComphetIndex, RecessiveParent, RecessiveParent, false)] + // #[case("0/1,0/0,0/0", ComphetIndex, RecessiveParent, RecessiveParent, false)] + // #[case("0/1,1/1,0/0", ComphetIndex, RecessiveParent, RecessiveParent, false)] + // #[case("0/1,0/0,1/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] + // #[case("0/1,0/1,0/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] fn passes_recessive_modes_trio( #[case] sample_gts: &str, #[case] query_gt_index: GenotypeChoice, @@ -584,48 +580,53 @@ mod test { #[case] query_gt_mother: GenotypeChoice, #[case] expected: bool, ) -> Result<(), anyhow::Error> { - let query_genotype: indexmap::IndexMap<_, _> = vec![ - (String::from(INDEX_NAME), Some(query_gt_index)), - (String::from(FATHER_NAME), Some(query_gt_father)), - (String::from(MOTHER_NAME), Some(query_gt_mother)), - ] - .into_iter() - .collect(); + let query_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::Any, + sample_genotypes: indexmap::indexmap! { + String::from(INDEX_NAME) => SampleGenotypeChoice { + sample: String::from(INDEX_NAME), + genotype: query_gt_index, + ..Default::default() + }, + String::from(FATHER_NAME) => SampleGenotypeChoice { + sample: String::from(FATHER_NAME), + genotype: query_gt_father, + ..Default::default() + }, + String::from(MOTHER_NAME) => SampleGenotypeChoice { + sample: String::from(MOTHER_NAME), + genotype: query_gt_mother, + ..Default::default() + }, + }, + }; let sample_gts = sample_gts .split(',') .map(|s| s.to_string()) .collect::>(); - let seq_var = SequenceVariant { - call_info: vec![ - ( - String::from(INDEX_NAME), - CallInfo { - genotype: Some(sample_gts[0].clone()), - ..Default::default() - }, - ), - ( - String::from(FATHER_NAME), - CallInfo { - genotype: Some(sample_gts[1].clone()), - ..Default::default() - }, - ), - ( - String::from(MOTHER_NAME), - CallInfo { - genotype: Some(sample_gts[2].clone()), - ..Default::default() - }, - ), - ] - .into_iter() - .collect(), + let seq_var = VariantRecord { + call_infos: indexmap::indexmap! { + String::from(INDEX_NAME) => + CallInfo { + genotype: Some(sample_gts[0].clone()), + ..Default::default() + }, + String::from(FATHER_NAME) => + CallInfo { + genotype: Some(sample_gts[1].clone()), + ..Default::default() + }, + String::from(MOTHER_NAME) => + CallInfo { + genotype: Some(sample_gts[2].clone()), + ..Default::default() + }, + }, ..Default::default() }; assert_eq!( - super::passes_recessive_modes(&query_genotype, INDEX_NAME, &seq_var, &[])?, + super::passes_recessive_modes(&query_genotype, &seq_var, &[])?, expected, "sample_gt = {:?}, query_gt_index = {:?}, query_gt_father = {:?}, \ query_gt_mother = {:?}, expected = {}", diff --git a/src/seqvars/query/interpreter/mod.rs b/src/seqvars/query/interpreter/mod.rs index e2689a04..8ea2a9a7 100644 --- a/src/seqvars/query/interpreter/mod.rs +++ b/src/seqvars/query/interpreter/mod.rs @@ -1,4 +1,4 @@ -//! Apply settings from a `strucvar::query::schema::CaseQuery` to `SequenceVariant` records. +//! Apply settings from a `strucvar::query::schema::CaseQuery` to `VariantRecord` records. use std::collections::HashSet; @@ -12,7 +12,7 @@ mod regions_allowlist; use super::{ annonars::Annotator, - schema::{CaseQuery, SequenceVariant}, + schema::{data::VariantRecord, query::CaseQuery}, }; /// Hold data structures that support the interpretation of one `CaseQuery` @@ -22,7 +22,7 @@ pub struct QueryInterpreter { /// The case query settings. pub query: CaseQuery, /// Gene allowlist with HGNC IDs. - pub hgnc_allowlist: Option>, + pub hgnc_allowlist: HashSet, } /// Result type for `QueryInterpreter::passes_genotype()`. @@ -34,17 +34,17 @@ pub struct PassesResult { impl QueryInterpreter { /// Construct new `QueryInterpreter` with the given query settings. - pub fn new(query: CaseQuery, hgnc_allowlist: Option>) -> Self { + pub fn new(query: CaseQuery, hgnc_allowlist: HashSet) -> Self { QueryInterpreter { query, hgnc_allowlist, } } - /// Determine whether the annotated `SequenceVariant` passes all criteria. + /// Determine whether the annotated `VariantRecord` passes all criteria. pub fn passes( &self, - seqvar: &SequenceVariant, + seqvar: &VariantRecord, annotator: &Annotator, ) -> Result { // Check the filters first that are cheap to compute. diff --git a/src/seqvars/query/interpreter/quality.rs b/src/seqvars/query/interpreter/quality.rs index 93a26c2e..196938ac 100644 --- a/src/seqvars/query/interpreter/quality.rs +++ b/src/seqvars/query/interpreter/quality.rs @@ -1,7 +1,8 @@ use crate::{ common::strip_gt_leading_slash, seqvars::query::schema::{ - CallInfo, CaseQuery, FailFilterChoice, SampleQualitySettings, SequenceVariant, + data::{CallInfo, VariantRecord}, + query::{CaseQuery, SampleQualitySettings}, }, }; @@ -14,31 +15,26 @@ pub struct PassOrNoCall { pub no_call_samples: Vec, } -/// Determine whether the `SequenceVariant` passes the quality filter. +/// Determine whether the `VariantRecord` passes the quality filter. /// Will return `FailFilterChoice::Ignore` if the variant passes. -pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result { +pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> Result { let mut result = PassOrNoCall { pass: true, no_call_samples: Vec::new(), }; - for (sample_name, quality_settings) in &query.quality { - if let Some(call_info) = seqvar.call_info.get(sample_name) { - if let Some(fail) = passes_for_sample(quality_settings, call_info) { - match fail { - FailFilterChoice::Ignore => { - // ignore quality failure for sample - } - FailFilterChoice::Drop => { - tracing::trace!( - "sample {} (call_info={:?}) in variant {:?} fails quality filter {:?}", - &sample_name, - &call_info, - &seqvar, - &quality_settings - ); - result.pass = false; - break; - } + for (sample_name, quality_settings) in &query.quality.sample_qualities { + if let Some(call_info) = seqvar.call_infos.get(sample_name) { + if !passes_for_sample(quality_settings, call_info) { + tracing::trace!( + "sample {} (call_info={:?}) in variant {:?} fails quality filter {:?}", + &sample_name, + &call_info, + &seqvar, + &quality_settings + ); + if quality_settings.filter_active { + result.pass = false; + break; } } else { // no failure, all good @@ -57,11 +53,9 @@ pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> Result Option { +/// Return whether the sample passes the quality filter. +fn passes_for_sample(quality_settings: &SampleQualitySettings, call_info: &CallInfo) -> bool { + // Ad-hoc enum for genotype. #[derive(PartialEq, Eq)] enum Genotype { Het, @@ -82,116 +76,105 @@ fn passes_for_sample( Genotype::NoCall }; - // dp_het/dp_hom and ab + // min_dp_het, min_dp_hom, and min_ab match genotype { Genotype::Het => { - // dp_het - if let Some(dp_het) = quality_settings.dp_het { - if let Some(dp) = call_info.dp { - if dp < dp_het { - return Some(quality_settings.filter_active); - } + // min_dp_het + if let (Some(min_dp_het), Some(dp)) = (quality_settings.min_dp_het, call_info.dp) { + if dp < min_dp_het { + return false; } } - // ab - if let (Some(settings_ab), Some(call_dp), Some(call_ad)) = - (quality_settings.ab, call_info.dp, call_info.ad) + // min_ab + if let (Some(min_ab), Some(call_dp), Some(call_ad)) = + (quality_settings.min_ab, call_info.dp, call_info.ad) { let ab_raw = call_ad as f64 / call_dp as f64; let ab = if ab_raw > 0.5 { 1.0 - ab_raw } else { ab_raw }; let eps = 1e-6f64; - if ab + eps < settings_ab as f64 { - return Some(quality_settings.filter_active); + if ab + eps < min_ab as f64 { + return false; } } } Genotype::Hom => { - if let Some(dp_hom) = quality_settings.dp_hom { - if let Some(dp) = call_info.dp { - if dp < dp_hom { - return Some(quality_settings.filter_active); - } + // min_dp_hom + if let (Some(dp_hom), Some(dp)) = (quality_settings.min_dp_hom, call_info.dp) { + if dp < dp_hom { + return false; } } } Genotype::Ref | Genotype::NoCall => (), } - // gq - if let (Some(settings_gq), Some(call_gq)) = (quality_settings.gq, call_info.quality) { + // min_gq + if let (Some(settings_gq), Some(call_gq)) = (quality_settings.min_gq, call_info.quality) { if call_gq < settings_gq as f32 { - return Some(quality_settings.filter_active); + return false; } } if genotype != Genotype::Ref { - // ad - if let (Some(settings_ad), Some(call_ad)) = (quality_settings.ad, call_info.ad) { + // min_ad + if let (Some(settings_ad), Some(call_ad)) = (quality_settings.min_ad, call_info.ad) { if call_ad < settings_ad { - return Some(quality_settings.filter_active); + return false; } } - // ad_max - if let (Some(settings_ad_max), Some(call_ad)) = (quality_settings.ad_max, call_info.ad) { + // max_ad + if let (Some(settings_ad_max), Some(call_ad)) = (quality_settings.max_ad, call_info.ad) { if call_ad > settings_ad_max { - return Some(quality_settings.filter_active); + return false; } } } - None + true } #[cfg(test)] mod test { - use rstest::rstest; - - use crate::seqvars::query::schema::{ - CallInfo, CaseQuery, - FailFilterChoice::{self, *}, - SampleQualitySettings, SequenceVariant, + use crate::seqvars::query::schema::data::{CallInfo, VariantRecord}; + use crate::seqvars::query::schema::query::{ + CaseQuery, QuerySettingsQuality, SampleQualitySettings, }; - #[rstest] - #[case(Ignore, true, true, false)] - #[case(Ignore, false, true, false)] - #[case(Drop, true, true, false)] - #[case(Drop, false, false, false)] + #[rstest::rstest] + #[case(false, true, true, false)] + #[case(false, false, true, false)] + #[case(true, true, true, false)] + #[case(true, false, false, false)] fn passes( - #[case] q_fail: FailFilterChoice, + #[case] filter_active: bool, #[case] should_pass: bool, #[case] expected_pass: bool, #[case] any_no_call_sample: bool, ) -> Result<(), anyhow::Error> { let query = CaseQuery { - quality: vec![( - String::from("sample"), - SampleQualitySettings { - filter_active: q_fail, - dp_het: None, - dp_hom: None, - gq: if should_pass { None } else { Some(40) }, - ab: None, - ad: None, - ad_max: None, + quality: QuerySettingsQuality { + sample_qualities: indexmap::indexmap! { + String::from("sample") => + SampleQualitySettings { + sample: String::from("sample"), + filter_active, + min_gq: if should_pass { None } else { Some(40) }, + ..Default::default() + }, }, - )] - .into_iter() - .collect(), + }, ..Default::default() }; - let seqvar = SequenceVariant { - call_info: vec![( - String::from("sample"), + let seqvar = VariantRecord { + call_infos: indexmap::indexmap! { + String::from("sample") => CallInfo { quality: if should_pass { None } else { Some(30f32) }, ..Default::default() }, - )] - .into_iter() - .collect(), + }, ..Default::default() }; @@ -216,272 +199,274 @@ mod test { Ok(()) } - #[rstest] + #[rstest::rstest] #[allow(clippy::too_many_arguments)] // het, pass dp #[case( - Some(10), // q_dp_het - None, // q_dp_hom - None, // q_gq - None, // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + Some(10), // q_min_dp_het + None, // q_dpmin__hom + None, // q_min_gq + None, // q_min_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("0/1"), // c_genotype None, // c_quality Some(10), // c_dp None, // c_ad - None, // expected, None = pass + true, // expected )] // het, fail dp #[case( - Some(10), // q_dp_het - None, // q_dp_hom - None, // q_gq - None, // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + Some(10), // q_min_dp_het + None, // q_dpmin__hom + None, // q_min_gq + None, // q_min_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("0/1"), // c_genotype None, // c_quality Some(9), // c_dp None, // c_ad - Some(Ignore), // expected, None = pass + true, // expected )] // hom, pass dp #[case( - None, // q_dp_het - Some(10), // q_dp_hom - None, // q_gq - None, // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + Some(10), // q_min_dp_hom + None, // q_min_gq + None, // q_min_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("1/1"), // c_genotype None, // c_quality Some(10), // c_dp None, // c_ad - None, // expected, None = pass + true, // expected )] // hom, fail dp #[case( - None, // q_dp_het - Some(10), // q_dp_hom - None, // q_gq - None, // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + Some(10), // q_min_dp_hom + None, // q_min_gq + None, // q_min_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("1/1"), // c_genotype None, // c_quality Some(9), // c_dp None, // c_ad - Some(Ignore), // expected, None = pass + true, // expected )] // pass gq #[case( - None, // q_dp_het - None, // q_dp_hom - Some(10), // q_gq - None, // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + Some(10), // min_q_gq + None, // q_min_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active None, // c_genotype Some(10f32), // c_quality None, // c_dp None, // c_ad - None, // expected, None = pass + true, // expected )] // fail gq #[case( - None, // q_dp_het - None, // q_dp_hom - Some(10), // q_gq - None, // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + Some(10), // min_q_gq + None, // q_min_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("0/1"), // c_genotype Some(9f32), // c_quality None, // c_dp None, // c_ad - Some(Ignore), // expected, None = pass + true, // expected )] // het, pass ab lower #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - Some(0.2), // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + Some(0.2), //min_ q_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("0/1"), // c_genotype None, // c_quality Some(100), // c_dp Some(20), // c_ad - None, // expected, None = pass + true, // expected )] // het, pass ab upper #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - Some(0.2), // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + Some(0.2), //min_ q_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("0/1"), // c_genotype None, // c_quality Some(100), // c_dp Some(80), // c_ad - None, // expected, None = pass + true, // expected )] // het, fail ab lower #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - Some(0.2), // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + Some(0.2), //min_ q_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("0/1"), // c_genotype None, // c_quality Some(100), // c_dp Some(19), // c_ad - Some(Ignore), // expected, None = pass + true, // expected )] // het, fail ab upper #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - Some(0.2), // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + Some(0.2), //min_ q_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("0/1"), // c_genotype None, // c_quality Some(100), // c_dp Some(81), // c_ad - Some(Ignore), // expected, None = pass + true, // expected )] // hom, ab ignored #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - Some(0.2), // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + Some(0.2), //min_ q_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active Some("1/1"), // c_genotype None, // c_quality None, // c_dp None, // c_ad - None, // expected, None = pass + true, // expected )] // pass ad #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - None, // q_ab - Some(10), // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + None, // q_min_ab + Some(10), // min_q_ad + None, // q_max_ad + false, // filter_active None, // c_genotype None, // c_quality None, // c_dp Some(10), // c_ad - None, // expected, None = pass + true, // expected )] // fail ad #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - None, // q_ab - Some(10), // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + None, // q_min_ab + Some(10), // min_q_ad + None, // q_max_ad + false, // filter_active None, // c_genotype None, // c_quality None, // c_dp Some(9), // c_ad - Some(Ignore), // expected, None = pass + true, // expected )] // pass ad_max #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - None, // q_ab - None, // q_ad - Some(10), // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + None, // q_min_ab + None, // q_min_ad + Some(10), // max_ad + false, // filter_active None, // c_genotype None, // c_quality None, // c_dp Some(10), // c_ad - None, // expected, None = pass + true, // expected )] // fail ad_max #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - None, // q_ab - None, // q_ad - Some(10), // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + None, // q_min_ab + None, // q_min_ad + Some(10), // max_ad + false, // filter_active None, // c_genotype None, // c_quality None, // c_dp Some(11), // c_ad - Some(Ignore), // expected, None = pass + true, // expected )] // all none #[case( - None, // q_dp_het - None, // q_dp_hom - None, // q_gq - None, // q_ab - None, // q_ad - None, // q_ad_max - Ignore, // q_fail + None, // q_min_dp_het + None, // q_min_dp_hom + None, // q_min_gq + None, // q_min_ab + None, // q_min_ad + None, // q_max_ad + false, // filter_active None, // c_genotype None, // c_quality None, // c_dp None, // c_ad - None, // expected, None = pass + true, // expected )] fn passes_for_sample( - #[case] q_dp_het: Option, - #[case] q_dp_hom: Option, - #[case] q_gq: Option, - #[case] q_ab: Option, - #[case] q_ad: Option, - #[case] q_ad_max: Option, - #[case] q_fail: FailFilterChoice, + #[case] q_min_dp_het: Option, + #[case] q_min_dp_hom: Option, + #[case] q_min_gq: Option, + #[case] q_min_ab: Option, + #[case] q_min_ad: Option, + #[case] q_max_ad: Option, + #[case] filter_active: bool, #[case] c_genotype: Option<&'static str>, #[case] c_quality: Option, #[case] c_dp: Option, #[case] c_ad: Option, - #[case] expected: Option, + #[case] expected: bool, ) -> Result<(), anyhow::Error> { let settings = SampleQualitySettings { - filter_active: q_fail, - dp_het: q_dp_het, - dp_hom: q_dp_hom, - gq: q_gq, - ab: q_ab, - ad: q_ad, - ad_max: q_ad_max, + sample: String::from("sample"), + filter_active, + min_dp_het: q_min_dp_het, + min_dp_hom: q_min_dp_hom, + min_gq: q_min_gq, + min_ab: q_min_ab, + min_ad: q_min_ad, + max_ad: q_max_ad, }; let call_info = CallInfo { + sample: String::from("sample"), genotype: c_genotype.map(|s| s.to_string()), quality: c_quality, dp: c_dp, diff --git a/src/seqvars/query/interpreter/regions_allowlist.rs b/src/seqvars/query/interpreter/regions_allowlist.rs index 9fff9378..e6ecdb15 100644 --- a/src/seqvars/query/interpreter/regions_allowlist.rs +++ b/src/seqvars/query/interpreter/regions_allowlist.rs @@ -1,30 +1,27 @@ -use crate::seqvars::query::schema::{CaseQuery, GenomicRegion, Range, SequenceVariant}; +use crate::seqvars::query::schema::data::VariantRecord; +use crate::seqvars::query::schema::query::{CaseQuery, GenomicRegion, Range}; -/// Determine whether the `SequenceVariant` passes the regions allowlist filter. -pub fn passes(query: &CaseQuery, seqvar: &SequenceVariant) -> bool { - if let Some(region_allowlist) = &query.locus.genomic_regions { - if region_allowlist.is_empty() { - true - } else { - let res = region_allowlist.iter().any(|region| { - overlaps( - region, - &seqvar.chrom, - seqvar.pos, - seqvar.pos + seqvar.reference.len() as i32 - 1, - ) - }); - if !res { - tracing::trace!( - "variant {:?} fails region allowlist filter {:?}", - seqvar, - ®ion_allowlist - ); - } - res - } - } else { +/// Determine whether the `VariantRecord` passes the regions allowlist filter. +pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> bool { + if query.locus.genome_regions.is_empty() { true + } else { + let res = query.locus.genome_regions.iter().any(|region| { + overlaps( + region, + &seqvar.vcf_variant.chrom, + seqvar.vcf_variant.pos, + seqvar.vcf_variant.pos + seqvar.vcf_variant.ref_allele.len() as i32 - 1, + ) + }); + if !res { + tracing::trace!( + "variant {:?} fails region allowlist filter {:?}", + seqvar, + &query.locus.genome_regions + ); + } + res } } diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index 26442990..ff07d96e 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -12,22 +12,21 @@ use std::time::Instant; use clap::{command, Parser}; use ext_sort::LimitedBufferBuilder; use ext_sort::{ExternalSorter, ExternalSorterBuilder}; -use itertools::Itertools; +use itertools::Itertools as _; use mehari::annotate::seqvars::CHROM_TO_CHROM_NO; use noodles::vcf; use rand_core::{RngCore, SeedableRng}; +use schema::data::{TryFromVcf as _, VariantRecord, VcfVariant}; +use schema::query::{CaseQuery, GenotypeChoice, RecessiveMode, SampleGenotypeChoice}; use thousands::Separable; use uuid::Uuid; use crate::common; -use crate::seqvars::query::schema::GenotypeChoice; use crate::{common::trace_rss_now, common::GenomeRelease}; use mehari::common::noodles::open_vcf_reader; use self::annonars::Annotator; -use self::schema::CaseQuery; -use self::schema::SequenceVariant; use self::sorting::{ByCoordinate, ByHgncId}; /// Command line arguments for `seqvars query` sub command. @@ -77,55 +76,46 @@ struct QueryStats { /// Checks whether the variants pass through the query interpreter. /// -/// This function is only relevant if the query uses recessive mode. -fn passes_for_gene( - query: &CaseQuery, - seqvars: &Vec, -) -> Result { - #[derive(Debug, Clone, PartialEq, Eq)] - enum Mode { - ComphetRecessive, - Recessive, - Other, +/// This function is only relevant if the query uses comp. het. or "any" recessive mode. +/// +/// The case of homozygous recessive mode is assumed to be handled outside. This function +/// only gets passed variants that are het. in the index. +fn passes_for_gene(query: &CaseQuery, seqvars: &Vec) -> Result { + // Short-circuit in case of disabled or homozygous-only recessive mode. + if matches!( + query.genotype.recessive_mode, + RecessiveMode::Disabled | RecessiveMode::Homozygous + ) { + return Ok(true); } - let mut mode = Mode::Other; - let mut index_name = String::default(); - let mut parents = Vec::new(); - query - .genotype - .iter() - .for_each(|(sample_name, genotype_choice)| match genotype_choice { - Some(GenotypeChoice::ComphetIndex) => { - index_name.clone_from(sample_name); - mode = Mode::ComphetRecessive; - } - Some(GenotypeChoice::RecessiveIndex) => { - index_name.clone_from(sample_name); - mode = Mode::Recessive; - } - Some(GenotypeChoice::RecessiveParent) => { - parents.push(sample_name.clone()); + // Extract family information for recessive mode. + let (index, parents) = { + let mut index = String::new(); + let mut parents = Vec::new(); + for (sample_name, SampleGenotypeChoice { genotype, .. }) in + query.genotype.sample_genotypes.iter() + { + match genotype { + GenotypeChoice::RecessiveIndex => { + index = sample_name.clone(); + } + GenotypeChoice::RecessiveParent => { + parents.push(sample_name.clone()); + } + _ => (), } - _ => (), - }); - - eprintln!( - "mode = {:?}, index_name = {:?}, parents = {:?}", - mode, &index_name, &parents - ); - - // No special handling for non-recessive mode. - if mode == Mode::Other { - return Ok(true); - } + } + (index, parents) + }; + tracing::debug!("index = {}, parents ={:?}", &index, &parents); let mut seen_het_parents = Vec::new(); for seqvar in seqvars { // Get parsed index genotype. let index_gt: common::Genotype = seqvar - .call_info - .get(&index_name) + .call_infos + .get(&index) .expect("no call info for index") .genotype .as_ref() @@ -133,16 +123,12 @@ fn passes_for_gene( .parse() .map_err(|e| anyhow::anyhow!("could not parse index genotype: {}", e))?; - eprintln!( - "seqvar = {:?}, index_gt = {:?}, mode = {:?}", - &seqvar, &index_gt, mode - ); - if mode == Mode::Recessive && index_gt == common::Genotype::HomAlt { - // if hom. recessive is allowed then we are done - return Ok(true); - } else if mode != Mode::Recessive && index_gt != common::Genotype::Het { - // it only makese sense to continue in recessive mode if the index is het. - return Ok(false); + tracing::debug!("seqvar = {:?}, index_gt = {:?}", &seqvar, &index_gt); + + // Index is not het., don't consider variant further for comp. het. + if index_gt != common::Genotype::Het { + // Skip variant, + continue; } // Otherwise, the index must be Het and we have to check which parent is also het. @@ -151,7 +137,7 @@ fn passes_for_gene( .iter() .map(|parent_name| { seqvar - .call_info + .call_infos .get(parent_name) .expect("no call info for parent") .genotype @@ -160,21 +146,37 @@ fn passes_for_gene( .parse::() }) .collect::, _>>()?; + let homalt_parents = parents + .iter() + .zip(parent_gts.iter()) + .filter(|(_, gt)| **gt == common::Genotype::HomAlt) + .map(|(name, _)| name.clone()) + .collect::>(); let het_parents = parents .iter() .zip(parent_gts.iter()) .filter(|(_, gt)| **gt == common::Genotype::Het) .map(|(name, _)| name.clone()) .collect::>(); - assert!(het_parents.len() <= 1); - eprintln!("het_parents = {:?}", &het_parents); + + if !homalt_parents.is_empty() { + // Skip variants, found homozygous parent. + continue; + } + if het_parents.len() > 1 { + // Skip variants, found more than one het. parent. + continue; + } + + tracing::debug!("het_parents = {:?}", &het_parents); + if let Some(parent) = het_parents.first() { if !seen_het_parents.contains(parent) { seen_het_parents.push(parent.clone()); } } - eprintln!("seen_het_parents = {:?}", &seen_het_parents); + tracing::debug!("seen_het_parents = {:?}", &seen_het_parents); // If the number of seen het. parents is equal to the number of parents, we are done. if seen_het_parents.len() == parents.len() { @@ -182,7 +184,7 @@ fn passes_for_gene( } } - // one of the recessive modes was active and we did not find all parents + // We did not find a compound heterozygous variant. Ok(false) } @@ -233,7 +235,7 @@ async fn run_query( } stats.count_total += 1; - let record_seqvar = SequenceVariant::from_vcf(&record_buf, &input_header) + let record_seqvar = VariantRecord::try_from_vcf(&record_buf, &input_header) .map_err(|e| anyhow::anyhow!("could not parse VCF record: {}", e))?; tracing::debug!("processing record {:?}", record_seqvar); @@ -294,7 +296,7 @@ async fn run_query( sorted_iter .map(|res| res.expect("problem reading line after sorting by HGNC ID")) - .group_by(|by_hgnc_id| by_hgnc_id.hgnc_id.clone()) + .chunk_by(|by_hgnc_id| by_hgnc_id.hgnc_id.clone()) .into_iter() .map(|(_, group)| { group @@ -382,7 +384,7 @@ async fn run_query( } else { anyhow::bail!("error reading line from input file") }; - let seqvar: SequenceVariant = serde_json::from_str(&line).map_err(|e| { + let seqvar: VariantRecord = serde_json::from_str(&line).map_err(|e| { anyhow::anyhow!( "error parsing line from input file: {:?} (line: {:?})", e, @@ -406,9 +408,9 @@ async fn run_query( /// Create output payload and write the record to the output file. fn create_payload_and_write_record( - seqvar: SequenceVariant, + seqvar: VariantRecord, annotator: &Annotator, - chrom_to_chrom_no: &CHROM_TO_CHROM_NO, + chrom_to_chrom_no: &std::collections::HashMap, csv_writer: &mut csv::Writer, args: &Args, rng: &mut rand::rngs::StdRng, @@ -430,16 +432,15 @@ fn create_payload_and_write_record( ) .build() .map_err(|e| anyhow::anyhow!("could not build payload: {}", e))?; - eprintln!("result_payload = {:?}", &result_payload); - let start = seqvar.pos; - let end = start + seqvar.reference.len() as i32 - 1; + tracing::debug!("result_payload = {:?}", &result_payload); + let VcfVariant { + chrom, + pos: start, + ref_allele, + alt_allele, + } = seqvar.vcf_variant.clone(); + let end = start + ref_allele.len() as i32 - 1; let bin = mehari::annotate::seqvars::binning::bin_from_range(start - 1, end)? as u32; - let SequenceVariant { - chrom: chromosome, - reference, - alternative, - .. - } = seqvar; csv_writer .serialize( &output::RecordBuilder::default() @@ -452,17 +453,13 @@ fn create_payload_and_write_record( GenomeRelease::Grch37 => "GRCh37".into(), GenomeRelease::Grch38 => "GRCh38".into(), }) - .chromosome_no( - *chrom_to_chrom_no - .get(&chromosome) - .expect("invalid chromosome") as i32, - ) - .chromosome(chromosome) + .chromosome_no(*chrom_to_chrom_no.get(&chrom).expect("invalid chromosome") as i32) + .chromosome(chrom) .start(start) .end(end) .bin(bin) - .reference(reference) - .alternative(alternative) + .reference(ref_allele) + .alternative(alt_allele) .payload( serde_json::to_string(&result_payload) .map_err(|e| anyhow::anyhow!("could not serialize payload: {}", e))?, @@ -489,13 +486,13 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a }; tracing::info!("Loading query... {}", args.path_query_json); - let query: schema::CaseQuery = + let query: CaseQuery = match serde_json::from_reader(std::fs::File::open(&args.path_query_json)?) { Ok(query) => query, Err(_) => { - let query: crate::pbs::seqvars::CaseQuery = + let query: crate::pbs::varfish::v1::seqvars::query::CaseQuery = serde_json::from_reader(std::fs::File::open(&args.path_query_json)?)?; - CaseQuery::from(query) + CaseQuery::try_from(query)? } }; @@ -528,18 +525,8 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a trace_rss_now(); tracing::info!("Translating gene allow list..."); - let hgnc_allowlist = if let Some(gene_allowlist) = &query.locus.gene_allowlist { - if gene_allowlist.is_empty() { - None - } else { - Some(crate::strucvars::query::translate_gene_allowlist( - gene_allowlist, - &in_memory_dbs, - )) - } - } else { - None - }; + let hgnc_allowlist = + crate::strucvars::query::translate_genes(&query.locus.genes, &in_memory_dbs); tracing::info!("Running queries..."); let before_query = Instant::now(); @@ -574,85 +561,81 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a mod test { use rstest::rstest; - use super::schema::{CallInfo, SequenceVariant}; - use crate::seqvars::query::schema::{CaseQuery, GenotypeChoice}; + use super::schema::data::{CallInfo, VariantRecord}; + use crate::seqvars::query::schema::query::{CaseQuery, GenotypeChoice, RecessiveMode}; #[rstest] #[case( - GenotypeChoice::ComphetIndex, + RecessiveMode::CompoundHeterozygous, vec!["0/1,0/1,0/0"], false, )] #[case( - GenotypeChoice::ComphetIndex, + RecessiveMode::CompoundHeterozygous, vec!["1/1,0/0,0/0"], false, )] #[case( - GenotypeChoice::ComphetIndex, + RecessiveMode::CompoundHeterozygous, vec!["0/1,0/1,0/0","0/1,0/0,0/1"], true, )] #[case( - GenotypeChoice::RecessiveIndex, + RecessiveMode::Any, vec!["1/1,0/0,0/0","0/1,0/0,0/1"], true, )] #[case( - GenotypeChoice::RecessiveIndex, + RecessiveMode::Any, vec!["1/0,1/0,0/0","0/1,0/0,0/1"], true, )] #[case( - GenotypeChoice::RecessiveIndex, + RecessiveMode::Any, vec!["1/0,1/0,0/0","1/0,0/1,0/0"], false, )] fn passes_for_gene_full_trio( - #[case] gt_choice_index: GenotypeChoice, + #[case] recessive_mode: RecessiveMode, #[case] trio_gts: Vec<&str>, #[case] passes: bool, ) -> Result<(), anyhow::Error> { + use crate::seqvars::query::schema::query::{QuerySettingsGenotype, SampleGenotypeChoice}; + let query = CaseQuery { - genotype: vec![ - ("index".into(), Some(gt_choice_index)), - ("father".into(), Some(GenotypeChoice::RecessiveParent)), - ("mother".into(), Some(GenotypeChoice::RecessiveParent)), - ] - .into_iter() - .collect(), + genotype: QuerySettingsGenotype { + recessive_mode, + sample_genotypes: indexmap::indexmap! { + String::from("index") => SampleGenotypeChoice { sample: String::from("index"), genotype: GenotypeChoice::RecessiveIndex, ..Default::default() }, + String::from("father") => SampleGenotypeChoice { sample: String::from("father"), genotype: GenotypeChoice::RecessiveParent, ..Default::default() }, + String::from("mother") => SampleGenotypeChoice { sample: String::from("mother"), genotype: GenotypeChoice::RecessiveParent, ..Default::default() }, + }, + }, ..Default::default() }; let seqvars = trio_gts .iter() .map(|gts| { let gts: Vec<&str> = gts.split(',').collect(); - SequenceVariant { - call_info: vec![ - ( - String::from("index"), + VariantRecord { + call_infos: indexmap::indexmap! { + String::from("index") => CallInfo { + sample: String::from("index"), genotype: Some(gts[0].into()), ..Default::default() }, - ), - ( - String::from("father"), + String::from("father") => CallInfo { genotype: Some(gts[1].into()), ..Default::default() }, - ), - ( - String::from("mother"), + String::from("mother") => CallInfo { genotype: Some(gts[2].into()), ..Default::default() }, - ), - ] - .into_iter() - .collect(), + }, ..Default::default() } }) diff --git a/src/seqvars/query/output/call_related.rs b/src/seqvars/query/output/call_related.rs index e9162120..e68c78c4 100644 --- a/src/seqvars/query/output/call_related.rs +++ b/src/seqvars/query/output/call_related.rs @@ -1,6 +1,6 @@ //! Call-related information. -use crate::seqvars::query::schema::SequenceVariant; +use crate::seqvars::query::schema::data::VariantRecord; /// Call-related record. #[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize, derive_new::new)] @@ -10,15 +10,15 @@ pub struct Record { } impl Record { - /// Construct a new `Record` from a `SequenceVariant`. + /// Construct a new `Record` from a `VariantRecord`. /// /// # Error /// - /// Returns an error if the `SequenceVariant` does not contain all necessary information. - pub fn with_seqvar(seqvar: &SequenceVariant) -> Result { + /// Returns an error if the `VariantRecord` does not contain all necessary information. + pub fn with_seqvar(seqvar: &VariantRecord) -> Result { Ok(Self { call_info: seqvar - .call_info + .call_infos .iter() .map(|(sample_name, call_info)| { ( diff --git a/src/seqvars/query/output/gene_related.rs b/src/seqvars/query/output/gene_related.rs index b29ecf88..3887fa9c 100644 --- a/src/seqvars/query/output/gene_related.rs +++ b/src/seqvars/query/output/gene_related.rs @@ -2,7 +2,7 @@ use mehari::annotate::seqvars::ann::Consequence; -use crate::seqvars::query::{annonars::Annotator, schema::SequenceVariant}; +use crate::seqvars::query::{annonars::Annotator, schema::data::VariantRecord}; /// Gene-related information for a `ResultPayload`. #[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize, derive_new::new)] @@ -20,16 +20,16 @@ pub struct Record { } impl Record { - /// Construct given a `SequenceVariant` if the information is given in the annotation. + /// Construct given a `VariantRecord` if the information is given in the annotation. /// /// Note that we will only look at the first annotation record as the ingest creates - /// one `SequenceVariant` record per gene. + /// one `VariantRecord` record per gene. /// /// # Error /// /// Returns an error if `seqvar` does not contain all necessary information. pub fn with_seqvar_and_annotator( - seqvar: &SequenceVariant, + seqvar: &VariantRecord, annotator: &Annotator, ) -> Result, anyhow::Error> { if let Some(ann) = seqvar.ann_fields.first() { diff --git a/src/seqvars/query/output/variant_related.rs b/src/seqvars/query/output/variant_related.rs index 6359f663..22459433 100644 --- a/src/seqvars/query/output/variant_related.rs +++ b/src/seqvars/query/output/variant_related.rs @@ -7,7 +7,7 @@ use crate::seqvars::query::{ output::variant_related::score_collection::{ Collector, ExtremalValueCollector, SingleValueCollector, }, - schema::SequenceVariant, + schema::data::{Ac as _, Af as _, An as _, Hemi as _, VariantRecord}, }; /// Helper modules for score collection. @@ -153,7 +153,7 @@ pub struct Record { impl Record { /// Construct given sequence variant and annonars annotator. pub fn with_seqvar_and_annotator( - seqvar: &SequenceVariant, + seqvar: &VariantRecord, annotator: &Annotator, ) -> Result { Ok(Self { @@ -166,7 +166,7 @@ impl Record { /// Query precomputed scores for `seqvar` from annonars `annotator`. pub fn query_precomputed_scores( - seqvar: &SequenceVariant, + seqvar: &VariantRecord, annotator: &Annotator, ) -> Result, anyhow::Error> { let mut result = indexmap::IndexMap::new(); @@ -269,7 +269,7 @@ pub struct DbIds { impl DbIds { /// Construct given sequence variant and annonars annotator. pub fn with_seqvar_and_annotator( - seqvar: &SequenceVariant, + seqvar: &VariantRecord, annotator: &Annotator, ) -> Result { Ok(Self { @@ -300,7 +300,7 @@ pub struct Clinvar { impl Clinvar { /// Construct given sequence variant and annonars annotator. pub fn with_seqvar_and_annotator( - seqvar: &SequenceVariant, + seqvar: &VariantRecord, annotator: &Annotator, ) -> Result, anyhow::Error> { let record = annotator @@ -391,27 +391,27 @@ pub struct Frequency { impl Frequency { /// Extract frequency information from `seqvar` - pub fn with_seqvar(seqvar: &SequenceVariant) -> Result { - let chrom = annonars::common::cli::canonicalize(&seqvar.chrom); + pub fn with_seqvar(seqvar: &VariantRecord) -> Result { + let chrom = annonars::common::cli::canonicalize(&seqvar.vcf_variant.chrom); let frequency = if chrom == "MT" { FrequencyBuilder::default() .gnomad_genomes( NuclearFrequency::new( - seqvar.gnomad_genomes_af(), - seqvar.population_frequencies.gnomad.genomes_an, - seqvar.population_frequencies.gnomad.genomes_het, - seqvar.population_frequencies.gnomad.genomes_hom, - seqvar.population_frequencies.gnomad.genomes_hemi, + seqvar.population_frequencies.gnomad_genomes.af(), + seqvar.population_frequencies.gnomad_genomes.an(), + seqvar.population_frequencies.gnomad_genomes.het(), + seqvar.population_frequencies.gnomad_genomes.hom(), + seqvar.population_frequencies.gnomad_genomes.hemi(), ) .some_unless_empty(), ) .gnomad_exomes( NuclearFrequency::new( - seqvar.gnomad_exomes_af(), - seqvar.population_frequencies.gnomad.exomes_an, - seqvar.population_frequencies.gnomad.exomes_het, - seqvar.population_frequencies.gnomad.exomes_hom, - seqvar.population_frequencies.gnomad.exomes_hemi, + seqvar.population_frequencies.gnomad_exomes.af(), + seqvar.population_frequencies.gnomad_exomes.an(), + seqvar.population_frequencies.gnomad_exomes.het(), + seqvar.population_frequencies.gnomad_exomes.hom(), + seqvar.population_frequencies.gnomad_exomes.hemi(), ) .some_unless_empty(), ) @@ -420,19 +420,19 @@ impl Frequency { FrequencyBuilder::default() .gnomad_mtdna( MtdnaFrequency::new( - seqvar.gnomad_genomes_af(), - seqvar.population_frequencies.gnomad.genomes_an, - seqvar.population_frequencies.gnomad.genomes_het, - seqvar.population_frequencies.gnomad.genomes_hom, + seqvar.population_frequencies.gnomad_mt.af(), + seqvar.population_frequencies.gnomad_mt.ac(), + seqvar.population_frequencies.gnomad_mt.het(), + seqvar.population_frequencies.gnomad_mt.hom(), ) .some_unless_empty(), ) .helixmtdb( MtdnaFrequency::new( - seqvar.helixmtdb_af(), - seqvar.population_frequencies.helixmtdb.an, - seqvar.population_frequencies.helixmtdb.het, - seqvar.population_frequencies.helixmtdb.hom, + seqvar.population_frequencies.helixmtdb.af(), + seqvar.population_frequencies.helixmtdb.ac(), + seqvar.population_frequencies.helixmtdb.het(), + seqvar.population_frequencies.helixmtdb.hom(), ) .some_unless_empty(), ) diff --git a/src/seqvars/query/schema.rs b/src/seqvars/query/schema.rs deleted file mode 100644 index 0329b19b..00000000 --- a/src/seqvars/query/schema.rs +++ /dev/null @@ -1,1016 +0,0 @@ -//! Supporting code for seqvar query definition. - -use indexmap::IndexMap; -use mehari::annotate::seqvars::ann; -use noodles::vcf; -use strum::IntoEnumIterator; - -use crate::common::genotype_to_string; - -/// Enumeration for recessive mode queries. -#[derive( - serde::Serialize, serde::Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, Copy, -)] -#[serde(rename_all = "kebab-case")] -pub enum RecessiveMode { - /// Recessive. - Recessive, - /// Compound recessive. - CompoundRecessive, -} - -/// Choice for genotype. -#[derive( - serde::Serialize, - serde::Deserialize, - PartialEq, - Eq, - PartialOrd, - Ord, - Hash, - Debug, - Clone, - Copy, - Default, - strum::EnumIter, -)] -#[serde(rename_all = "kebab-case")] -pub enum GenotypeChoice { - /// Any genotype. - #[default] - Any, - /// Ref. genotype. - Ref, - /// Het. genotype. - Het, - /// Hom. genotype. - Hom, - /// Non-hom. genotype. - NonHom, - /// Variant genotype. - Variant, - /// Index in comp. het. recessive inheritance. - ComphetIndex, - /// Index in recessive inheritance. - RecessiveIndex, - /// Parent in recessive inheritance. - RecessiveParent, -} - -impl GenotypeChoice { - /// Return wehther the genotype choice matches the genotype string. - /// - /// Note that we assume properly ingested VCFs with only one alternate allele. - /// The valid genotype strings have the form "/", "|" or - /// "" with "" being one of "0", "1", and ".". - pub fn matches(&self, gt_str: &str) -> Result { - let gt_str = if gt_str.starts_with('/') || gt_str.starts_with('|') { - >_str[1..] - } else { - gt_str - }; - Ok(match self { - GenotypeChoice::Any => true, - GenotypeChoice::Ref => ["0", "0|0", "0/0"].contains(>_str), - GenotypeChoice::Het => ["0/1", "0|1", "1/0", "1|0"].contains(>_str), - GenotypeChoice::Hom => ["1", "1/1", "1|1"].contains(>_str), - GenotypeChoice::NonHom => !["1", "1/1", "1|1"].contains(>_str), - GenotypeChoice::Variant => { - ["1", "0/1", "0|1", "1/0", "1|0", "1|1", "1/1"].contains(>_str) - } - GenotypeChoice::ComphetIndex - | GenotypeChoice::RecessiveIndex - | GenotypeChoice::RecessiveParent => { - anyhow::bail!("recessive marker is not a genotype choice") - } - }) - } -} - -/// Choices for failing quality thresholds on genotypes. -#[derive( - serde::Serialize, - serde::Deserialize, - PartialEq, - Eq, - PartialOrd, - Ord, - Hash, - Debug, - Clone, - Copy, - Default, - strum::EnumIter, -)] -#[serde(rename_all = "kebab-case")] -pub enum FailFilterChoice { - /// Ignore failure. - #[default] - Ignore, - /// Drop whole variant. - #[serde(rename = "drop-variant")] - Drop, -} - -/// Quality settings for one sample. -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] -pub struct SampleQualitySettings { - /// Weather to ignore or drop the whole variant on failure - pub filter_active: FailFilterChoice, - /// Minimal coverage for het. sites. - pub dp_het: Option, - /// Minimal coverage for hom. sites. - pub dp_hom: Option, - /// Minimal genotype quality. - pub gq: Option, - /// Minimal allele balance for het. variants. - pub ab: Option, - /// Minimal number of alternate reads. - pub ad: Option, - /// Maximal number of alternate reads - pub ad_max: Option, -} - -impl From for SampleQualitySettings { - fn from(old: crate::pbs::seqvars::SampleQualitySettings) -> Self { - Self { - filter_active: if old.filter_active { - FailFilterChoice::Drop - } else { - FailFilterChoice::Ignore - }, - dp_het: old.dp_het, - dp_hom: old.dp_hom, - gq: old.gq, - ab: old.ab, - ad: old.ad, - ad_max: old.ad_max, - } - } -} - -/// Data structure to hold a range. -#[derive( - serde::Serialize, serde::Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, -)] -pub struct Range { - /// Start of range. - pub start: i32, - /// End of range. - pub end: i32, -} - -impl From for Range { - fn from(value: crate::pbs::seqvars::Range) -> Self { - Self { - start: value.start, - end: value.end, - } - } -} - -/// Data struture to hold a genomic region. -#[derive( - serde::Serialize, serde::Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, -)] -pub struct GenomicRegion { - /// Chromosome. - pub chrom: String, - /// Range of region. - pub range: Option, -} - -impl From for GenomicRegion { - fn from(other: crate::pbs::seqvars::GenomicRegion) -> Self { - Self { - chrom: other.chrom, - range: other.range.map(Range::from), - } - } -} - -serde_with::with_prefix!(prefix_clinvar "clinvar_"); -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct ClinVarOptions { - /// Whether to include benign ClinVar variants. - pub include_benign: bool, - /// Whether to include pathogenic ClinVar variants. - pub include_pathogenic: bool, - /// Whether to include likely benign ClinVar variants. - pub include_likely_benign: bool, - /// Whether to include likely pathogenic ClinVar variants. - pub include_likely_pathogenic: bool, - /// Whether to include uncertain significance ClinVar variants. - pub include_uncertain_significance: bool, - /// Whether to include conflicting interpretation ClinVar variants. - pub include_conflicting_classifications: bool, -} - -impl From for ClinVarOptions { - fn from(other: crate::pbs::seqvars::ClinVarOptions) -> Self { - Self { - include_benign: other.include_benign, - include_pathogenic: other.include_pathogenic, - include_likely_benign: other.include_likely_benign, - include_likely_pathogenic: other.include_likely_pathogenic, - include_uncertain_significance: other.include_uncertain_significance, - include_conflicting_classifications: other.include_conflicting_classifications, - } - } -} - -serde_with::with_prefix!(prefix_inhouse "inhouse_"); -#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct InhouseFrequencyOptions { - /// Whether to enable filtration by 1000 Genomes. - pub enabled: bool, - /// Maximal number of in-house carriers - pub carriers: Option, - /// Maximal number of in-house heterozygous carriers - pub heterozygous: Option, - /// Maximal number of in-house homozygous carriers - pub homozygous: Option, - /// Maximal number of in-house hemizygous carriers - pub hemizygous: Option, -} - -#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] -#[serde(default)] -/// TODO: currently unused? -pub struct GnomadNuclearOptions { - /// Whether to enable filtration by 1000 Genomes. - pub enabled: bool, - /// Maximal number of in-house carriers. - pub carriers: Option, - /// Maximal number of in-house heterozygous carriers. - pub heterozygous: Option, - /// Maximal number of in-house homozygous carriers. - pub homozygous: Option, - /// Maximal number of in-house hemizygous carriers. - pub hemizygous: Option, - // Maximal allele frequency. - #[serde(rename = "frequency")] - pub allele_frequency: Option, -} - -impl From for GnomadNuclearOptions { - fn from(other: crate::pbs::seqvars::GnomadNuclearOptions) -> Self { - Self { - enabled: other.enabled, - carriers: other.carriers, - heterozygous: other.heterozygous, - homozygous: other.homozygous, - hemizygous: other.hemizygous, - allele_frequency: other.allele_frequency, - } - } -} - -impl From for InhouseFrequencyOptions { - fn from(other: crate::pbs::seqvars::InhouseFrequencyOptions) -> Self { - Self { - enabled: other.enabled, - carriers: other.carriers, - heterozygous: other.heterozygous, - homozygous: other.homozygous, - hemizygous: other.hemizygous, - } - } -} - -#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct GnomadMitochondrialOptions { - /// Whether to enable filtration by 1000 Genomes. - pub enabled: bool, - /// Maximal number of carriers - pub carriers: Option, - /// Maximal number of heteroplasmic carriers. - pub heteroplasmic: Option, - /// Maximal number of homoplasmic carriers. - pub homoplasmic: Option, - /// Maximal allele frequency. - #[serde(rename = "frequency")] - pub allele_frequency: Option, -} - -impl From for GnomadMitochondrialOptions { - fn from(other: crate::pbs::seqvars::GnomadMitochondrialOptions) -> Self { - Self { - enabled: other.enabled, - carriers: other.carriers, - heteroplasmic: other.heteroplasmic, - homoplasmic: other.homoplasmic, - allele_frequency: other.allele_frequency, - } - } -} - -serde_with::with_prefix!(prefix_helixmtdb "helixmtdb_"); -#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] -#[serde(default)] -/// TODO: currently unused? -pub struct HelixMtDbOptions { - /// Whether to enable filtration by mtDB. - pub enabled: bool, - /// Maximal frequency in HelixMtDb - pub frequency: Option, - /// Maximal number of heterozygous carriers in HelixMtDb. - pub heteroplasmic: Option, - /// Maximal number of homozygous carriers in HelixMtDb. - pub homoplasmic: Option, -} - -impl From for HelixMtDbOptions { - fn from(other: crate::pbs::seqvars::HelixMtDbOptions) -> Self { - Self { - enabled: other.enabled, - frequency: other.frequency, - heteroplasmic: other.heteroplasmic, - homoplasmic: other.homoplasmic, - } - } -} - -serde_with::with_prefix!(prefix_gnomad_exomes "gnomad_exomes_"); -serde_with::with_prefix!(prefix_gnomad_genomes "gnomad_genomes_"); -serde_with::with_prefix!(prefix_gnomad_mt "gnomat_mt_"); -#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct PopulationFrequencyOptions { - #[serde(flatten, with = "prefix_gnomad_exomes")] - pub gnomad_exomes: GnomadNuclearOptions, - #[serde(flatten, with = "prefix_gnomad_genomes")] - pub gnomad_genomes: GnomadNuclearOptions, - // gnomAD-MT filter - #[serde(flatten, with = "prefix_gnomad_mt")] - pub gnomad_mt: GnomadMitochondrialOptions, - #[serde(flatten, with = "prefix_helixmtdb")] - pub helixmtdb: HelixMtDbOptions, -} - -impl From for PopulationFrequencyOptions { - fn from(other: crate::pbs::seqvars::PopulationFrequencyOptions) -> Self { - Self { - gnomad_exomes: other - .gnomad_exomes - .map(GnomadNuclearOptions::from) - .unwrap_or_default(), - gnomad_genomes: other - .gnomad_genomes - .map(GnomadNuclearOptions::from) - .unwrap_or_default(), - gnomad_mt: other - .gnomad_mt - .map(GnomadMitochondrialOptions::from) - .unwrap_or_default(), - helixmtdb: other - .helixmtdb - .map(HelixMtDbOptions::from) - .unwrap_or_default(), - } - } -} - -serde_with::with_prefix!(prefix_var_type "var_type_"); -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct VariantTypeOptions { - /// Whether to include SNVs. - pub snv: bool, - /// Whether to include indels. - pub indel: bool, - /// Whether to include MNVs. - pub mnv: bool, -} - -impl Default for VariantTypeOptions { - fn default() -> Self { - VariantTypeOptions { - snv: true, - indel: true, - mnv: true, - } - } -} - -impl From for VariantTypeOptions { - fn from(other: crate::pbs::seqvars::VariantTypeOptions) -> Self { - Self { - snv: other.snv, - indel: other.indel, - mnv: other.mnv, - } - } -} - -#[derive(serde::Serialize, serde::Deserialize, Default, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct LocusRelatedOptions { - /// List of HGNC symbols, HGNC:s, ENSGs, or NCBI Gene IDs to restrict - /// the resulting variants to. - pub gene_allowlist: Option>, - /// List of genomic regions to limit restrict the resulting variants to. - pub genomic_regions: Option>, -} - -impl From for LocusRelatedOptions { - fn from(other: crate::pbs::seqvars::LocusRelatedOptions) -> Self { - Self { - gene_allowlist: match other.gene_allowlist.first() { - None => None, - _ => Some(other.gene_allowlist), - }, - genomic_regions: match other.genomic_regions.first() { - None => None, - _ => Some( - other - .genomic_regions - .iter() - .map(std::borrow::ToOwned::to_owned) - .map(GenomicRegion::from) - .collect(), - ), - }, - } - } -} - -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct TranscriptOptions { - /// Whether to include coding transcripts. - pub transcripts_coding: bool, - /// Whether to include non-coding transcripts. - pub transcripts_noncoding: bool, - /// Maximal distance to next exon, if any. - pub max_exon_dist: Option, -} - -impl From for TranscriptOptions { - fn from(other: crate::pbs::seqvars::TranscriptOptions) -> Self { - Self { - transcripts_coding: other.transcripts_coding, - transcripts_noncoding: other.transcripts_noncoding, - max_exon_dist: other.max_exon_dist, - } - } -} - -impl Default for TranscriptOptions { - fn default() -> Self { - TranscriptOptions { - transcripts_coding: true, - transcripts_noncoding: true, - max_exon_dist: Default::default(), - } - } -} - -/// Data structure with a single query. -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone)] -#[serde(default)] -pub struct CaseQuery { - /// Molecular consequences to consider. - pub consequences: Vec, - - /// Quality settings for each individual. - pub quality: indexmap::IndexMap, - - /// Genotype choice for each individual. - pub genotype: indexmap::IndexMap>, - #[serde(flatten)] - pub transcript: TranscriptOptions, - #[serde(flatten, with = "prefix_var_type")] - pub var_type: VariantTypeOptions, - #[serde(flatten)] - pub locus: LocusRelatedOptions, - - // In protobuf this lives inside ClinVarOptions - /// Wether to require ClinVar membership. - pub require_in_clinvar: bool, - /// ClinVar related filter options. - #[serde(flatten, with = "prefix_clinvar")] - pub clinvar: ClinVarOptions, - - /// PopulationFrequency related filter options - #[serde(flatten)] - pub population_frequency: PopulationFrequencyOptions, - - /// Inhouse related filter options. - #[serde(flatten, with = "prefix_inhouse")] - pub inhouse: InhouseFrequencyOptions, -} - -impl From for CaseQuery { - fn from(other: crate::pbs::seqvars::CaseQuery) -> Self { - let consequences: Vec<_> = other - .consequences - .iter() - .map(|x| ann::Consequence::iter().nth(*x as usize).unwrap()) - .collect(); - let quality: IndexMap = other - .quality - .iter() - .map(|(x, y)| (x.to_owned(), y.clone().into())) - .collect(); - - Self { - consequences, - quality, - genotype: other - .genotype - .iter() - .map(|(x, y)| (x.to_owned(), GenotypeChoice::iter().nth(*y as usize))) - .collect(), - - transcript: other - .transcript - .map(TranscriptOptions::from) - .unwrap_or_default(), - var_type: other - .var_type - .map(VariantTypeOptions::from) - .unwrap_or_default(), - locus: other - .locus - .map(LocusRelatedOptions::from) - .unwrap_or_default(), - require_in_clinvar: other.clinvar.clone().unwrap_or_default().require_in_clinvar, - clinvar: other.clinvar.map(ClinVarOptions::from).unwrap_or_default(), - population_frequency: other - .population_frequency - .map(PopulationFrequencyOptions::from) - .unwrap_or_default(), - inhouse: other - .inhouse - .map(InhouseFrequencyOptions::from) - .unwrap_or_default(), - } - } -} - -impl Default for ClinVarOptions { - fn default() -> Self { - Self { - include_benign: true, - include_pathogenic: true, - include_likely_benign: true, - include_likely_pathogenic: true, - include_uncertain_significance: true, - include_conflicting_classifications: true, - } - } -} - -impl Default for CaseQuery { - /// Returns default values for a `CaseQuery` which makes all variants pass. - fn default() -> Self { - Self { - consequences: mehari::annotate::seqvars::ann::Consequence::all(), - population_frequency: Default::default(), - quality: Default::default(), - genotype: Default::default(), - transcript: Default::default(), - var_type: Default::default(), - locus: Default::default(), - require_in_clinvar: Default::default(), - clinvar: Default::default(), - inhouse: Default::default(), - } - } -} - -impl CaseQuery { - /// Return whether recessive mode has been enabled. - pub fn recessive_mode(&self) -> bool { - self.genotype.values().any(|gt_choice| { - matches!( - gt_choice, - Some( - GenotypeChoice::ComphetIndex - | GenotypeChoice::RecessiveIndex - | GenotypeChoice::RecessiveParent - ) - ) - }) - } - - /// Returns name of the recessive index sample. - pub fn index_sample(&self) -> Option { - for (name, gt_choice) in &self.genotype { - match gt_choice { - Some(GenotypeChoice::ComphetIndex | GenotypeChoice::RecessiveIndex) => { - return Some(name.clone()) - } - _ => continue, - } - } - - None - } -} -/// Information on the call as written out by ingest. -/// -/// Note that the ingested files have exactly one alternate allele. -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] -pub struct CallInfo { - /// The genotype, if applicable, e.g., "0/1" - pub genotype: Option, - /// Genotype quality score, if applicable - pub quality: Option, - /// Total read coverage at site in the sample. - pub dp: Option, - /// Alternate allele depth for the single allele in the sample. - pub ad: Option, - /// Physical phasing ID for this sample. - pub phasing_id: Option, -} - -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] -pub struct Gnomads { - /// Number of alleles in gnomAD exomes (not for chrMT). - pub exomes_an: i32, - /// Number of homozygous carriers in gnomAD exomes (not for chrMT). - pub exomes_hom: i32, - /// Number of heterozygous carriers in gnomAD exomes (not for chrMT). - pub exomes_het: i32, - /// Number of hemizygous carriers in gnomAD exomes (not for chrMT). - pub exomes_hemi: i32, - - /// Number of alleles in gnomAD genomes (also for chrMT). - pub genomes_an: i32, - /// Number of homozygous carriers in gnomAD genomes (also for chrMT). - pub genomes_hom: i32, - /// Number of heterozygous carriers in gnomAD genomes (also for chrMT). - pub genomes_het: i32, - /// Number of hemizygous carriers in gnomAD genomes (not for chrMT). - pub genomes_hemi: i32, -} - -// Name difference due to legacy json -serde_with::with_prefix!(prefix_helix "helix_"); -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] -pub struct HelixMtDBs { - /// Number of alleles in HelixMtDb cohort (only chrMT). - pub an: i32, - /// Number of homoplasmic carriers in HelixMtDb cohort (only chrMT). - pub hom: i32, - /// Number of heteroplasmic carriers in HelixMtDb cohort (only chrMT). - pub het: i32, -} - -serde_with::with_prefix!(prefix_gnomad "gnomad_"); -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] - -pub struct PopulationFrequencies { - #[serde(flatten, with = "prefix_gnomad")] - pub gnomad: Gnomads, - #[serde(flatten, with = "prefix_helix")] - pub helixmtdb: HelixMtDBs, -} - -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] -pub struct InhouseFrequencies { - /// Number of in-house alleles (also for chrMT). - pub an: i32, - /// Number of homozygous carriers in in-house cohort (also for chrMT). - pub hom: i32, - /// Number of heterozygous carriers in in-house cohort (also for chrMT). - pub het: i32, - /// Number of hemizygous carriers in in-house cohort (not for chrMT). - pub hemi: i32, -} - -/// Definition of a sequence variant with per-sample genotype calls. -/// -/// This uses a subset/specialization of what is described by the VCF standard -/// for the purpose of running SV queries in `varfish-server-worker`. -#[derive(serde::Serialize, serde::Deserialize, PartialEq, Debug, Clone, Default)] -pub struct SequenceVariant { - /// Chromosome name - pub chrom: String, - /// 1-based start position of the variant (or position on first chromosome - /// for break-ends) - pub pos: i32, - /// Reference allele. - pub reference: String, - /// Alternative allele. - pub alternative: String, - - /// Variant effect annotation. - pub ann_fields: Vec, - - /// Mapping of sample to genotype information for the SV. - pub call_info: indexmap::IndexMap, - - #[serde(flatten)] - pub population_frequencies: PopulationFrequencies, - - #[serde(flatten, with = "prefix_inhouse")] - pub inhouse_frequencies: InhouseFrequencies, -} - -impl SequenceVariant { - /// Convert from VCF record. - pub fn from_vcf( - record: &vcf::variant::RecordBuf, - header: &vcf::Header, - ) -> Result { - let chrom = record.reference_sequence_name().to_string(); - let pos: usize = record.variant_start().expect("empty variant_start?").into(); - let pos = pos as i32; - - let reference = record.reference_bases().to_string(); - let alternative = record - .alternate_bases() - .as_ref() - .iter() - .next() - .expect("no alternate base?") - .to_string(); - - let call_info = Self::build_call_info(record, header)?; - let ann_fields = Self::extract_ann_fields(record)?; - - let result = Self { - chrom, - pos, - reference, - alternative, - call_info, - ann_fields, - ..Default::default() - }; - - Self::with_freqs(result, record) - } - - /// Build call information. - fn build_call_info( - record: &vcf::variant::RecordBuf, - header: &vcf::Header, - ) -> Result, anyhow::Error> { - use vcf::variant::record::samples::keys::key; - let mut result = indexmap::IndexMap::new(); - - for (name, sample) in header.sample_names().iter().zip(record.samples().values()) { - let genotype = if let Some(Some( - vcf::variant::record_buf::samples::sample::value::Value::Genotype(gt), - )) = sample.get(key::GENOTYPE) - { - Some(genotype_to_string(>)?) - } else { - None - }; - let quality = if let Some(Some( - vcf::variant::record_buf::samples::sample::value::Value::Integer(quality), - )) = sample.get(key::CONDITIONAL_GENOTYPE_QUALITY) - { - Some(*quality as f32) - } else { - None - }; - let dp = if let Some(Some( - vcf::variant::record_buf::samples::sample::value::Value::Integer(dp), - )) = sample.get(key::READ_DEPTH) - { - Some(*dp) - } else { - None - }; - let ad = - if let Some(Some(vcf::variant::record_buf::samples::sample::value::Value::Array( - vcf::variant::record_buf::samples::sample::value::Array::Integer(ad), - ))) = sample.get(key::READ_DEPTHS) - { - Some(ad[1].expect("empty AD?")) - } else { - None - }; - let phase_set = if let Some(Some( - vcf::variant::record_buf::samples::sample::value::Value::Integer(id), - )) = sample.get(key::PHASE_SET) - { - Some(*id) - } else { - None - }; - - result.insert( - name.clone(), - CallInfo { - genotype, - quality, - dp, - ad, - phasing_id: phase_set, - }, - ); - } - - Ok(result) - } - - /// Extract `INFO/ANN` entries - fn extract_ann_fields( - record: &vcf::variant::RecordBuf, - ) -> Result, anyhow::Error> { - if let Some(Some(ann)) = record.info().get("ANN") { - if let vcf::variant::record_buf::info::field::Value::Array( - vcf::variant::record_buf::info::field::value::Array::String(ann), - ) = ann - { - ann.iter() - .flatten() - .map(|s| s.parse::()) - .collect::, _>>() - .map_err(|e| anyhow::anyhow!("problem parsing ANN: {}", e)) - } else { - anyhow::bail!("invalid type of INFO/ANN") - } - } else { - Ok(Vec::default()) - } - } - - /// Copy the frequencies from `record` to `result`. - fn with_freqs( - result: SequenceVariant, - record: &vcf::variant::RecordBuf, - ) -> Result { - use vcf::variant::record_buf::info::field::Value; - - macro_rules! extract_key { - ($key:ident) => { - let $key = - if let Some(Some(Value::Integer($key))) = record.info().get(stringify!($key)) { - *$key - } else { - 0 - }; - }; - } - - extract_key!(gnomad_exomes_an); - extract_key!(gnomad_exomes_hom); - extract_key!(gnomad_exomes_het); - extract_key!(gnomad_exomes_hemi); - - extract_key!(gnomad_genomes_an); - extract_key!(gnomad_genomes_hom); - extract_key!(gnomad_genomes_het); - extract_key!(gnomad_genomes_hemi); - - extract_key!(helix_an); - extract_key!(helix_hom); - extract_key!(helix_het); - - Ok(SequenceVariant { - population_frequencies: PopulationFrequencies { - gnomad: Gnomads { - exomes_an: gnomad_exomes_an, - exomes_hom: gnomad_exomes_hom, - exomes_het: gnomad_exomes_het, - exomes_hemi: gnomad_exomes_hemi, - - genomes_an: gnomad_genomes_an, - genomes_hom: gnomad_genomes_hom, - genomes_het: gnomad_genomes_het, - genomes_hemi: gnomad_genomes_hemi, - }, - helixmtdb: HelixMtDBs { - an: helix_an, - hom: helix_hom, - het: helix_het, - }, - }, - ..result - }) - } - - /// Return allele frequency in gnomAD exomes. - pub fn gnomad_exomes_af(&self) -> f32 { - if self.population_frequencies.gnomad.exomes_an == 0 { - return 0f32; - } - let an = self.population_frequencies.gnomad.exomes_an as f32; - let hom = self.population_frequencies.gnomad.exomes_hom as f32; - let het = self.population_frequencies.gnomad.exomes_het as f32; - let hemi = self.population_frequencies.gnomad.exomes_hemi as f32; - (2.0 * hom + het + hemi) / an - } - - /// Return allele frequency in gnomAD genomes. - pub fn gnomad_genomes_af(&self) -> f32 { - if self.population_frequencies.gnomad.genomes_an == 0 { - return 0f32; - } - - let an = self.population_frequencies.gnomad.genomes_an as f32; - let hom = self.population_frequencies.gnomad.genomes_hom as f32; - let het = self.population_frequencies.gnomad.genomes_het as f32; - let hemi = self.population_frequencies.gnomad.genomes_hemi as f32; - (2.0 * hom + het + hemi) / an - } - - /// Return allele frequency in HelixMtDb. - pub fn helixmtdb_af(&self) -> f32 { - if self.population_frequencies.helixmtdb.an == 0 { - return 0f32; - } - let an = self.population_frequencies.helixmtdb.an as f32; - let hom = self.population_frequencies.helixmtdb.hom as f32; - let het = self.population_frequencies.helixmtdb.het as f32; - (2.0 * hom + het) / an - } -} - -#[cfg(test)] -pub mod test { - use noodles::vcf; - use rstest::rstest; - - pub mod genotype_choice { - use super::super::GenotypeChoice::{self, *}; - use rstest::rstest; - - #[rstest] - #[case(Any, &["0", "0/0", "0|0", "1", "1/1", "1|1", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], true)] - #[case(Ref, &["0", "0/0", "0|0"], true)] - #[case(Ref, &[ "1", "1/1", "1|1", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] - #[case(Het, &["0/1", "0|1", "1/0", "1|0"], true)] - #[case(Het, &["0", "0/0", "0|0", "1", "1/1", "1|1", ".", "./.", ".|."], false)] - #[case(Hom, &["1", "1/1", "1|1"], true)] - #[case(Hom, &["0", "0/0", "0|0", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] - #[case(NonHom, &["1", "1/1", "1|1"], false)] - #[case(NonHom, &["0", "0/0", "0|0", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], true)] - #[case(Variant, &["1", "1/1", "1|1", "0/1", "0|1", "1/0", "1|0"], true)] - #[case(Variant, &["0", "0/0", "0|0", ".", "./.", ".|."], false)] - pub fn matches( - #[case] genotype_choice: GenotypeChoice, - #[case] gt_strs: &[&str], - #[case] expected: bool, - ) { - for gt_str in gt_strs { - assert_eq!( - genotype_choice.matches(gt_str).unwrap(), - expected, - "{:?} {}", - genotype_choice, - gt_str - ); - } - } - } - - #[rstest] - #[case("tests/seqvars/query/empty")] - #[case("tests/seqvars/query/full")] - #[case("tests/seqvars/query/with_extra")] - pub fn smoke_test_load(#[case] path_input: &str) -> Result<(), anyhow::Error> { - mehari::common::set_snapshot_suffix!("{}.json", path_input.split('/').last().unwrap()); - - let query: super::CaseQuery = - serde_json::from_reader(std::fs::File::open(format!("{}.json", path_input))?)?; - - if !path_input.contains("with_extra") { - // Check if pbjson loading yields same result - let query_pb: crate::pbs::seqvars::CaseQuery = - serde_json::from_reader(std::fs::File::open(format!("{}-pb.json", path_input))?)?; - let query_pb_conv = super::CaseQuery::from(query_pb); - assert_eq!(query, query_pb_conv); - } - insta::assert_yaml_snapshot!(&query); - - Ok(()) - } - - #[rstest::rstest] - #[case("tests/seqvars/query/Case_1.ingested.vcf")] - #[case("tests/seqvars/query/dragen.ingested.vcf")] - pub fn sequence_variant_from_vcf(#[case] path_input: &str) -> Result<(), anyhow::Error> { - use noodles::vcf::variant::RecordBuf; - - mehari::common::set_snapshot_suffix!("{}", path_input.split('/').last().unwrap()); - - let mut vcf_reader = vcf::io::reader::Builder::default() - .build_from_path(path_input) - .unwrap(); - let header = vcf_reader.read_header()?; - - for record in vcf_reader.records() { - let record = record?; - let seqvar = super::SequenceVariant::from_vcf( - &RecordBuf::try_from_variant_record(&header, &record)?, - &header, - )?; - - insta::assert_yaml_snapshot!(&seqvar); - } - - Ok(()) - } -} diff --git a/src/seqvars/query/schema/data.rs b/src/seqvars/query/schema/data.rs new file mode 100644 index 00000000..2b40e1fa --- /dev/null +++ b/src/seqvars/query/schema/data.rs @@ -0,0 +1,714 @@ +//! Code for representing variants internally, corresponds to what is written +//! out by `seqvars ingest`. + +use noodles::vcf; + +use crate::common::genotype_to_string; + +/// Trait for attempting conversion from VCF record. +pub trait TryFromVcf: Sized { + /// Error type to use. + type Error; + + /// Convert from VCF record. + /// + /// # Arguments + /// + /// * `record` - VCF record. + /// * `header` - VCF header. + /// + /// # Errors + /// + /// Returns an error if the record cannot be converted. + fn try_from_vcf( + record: &vcf::variant::RecordBuf, + header: &vcf::Header, + ) -> Result; +} + +/// Information on the call as written out by ingest. +/// +/// Corresponds to `FORMAT/*` in VCF. +/// +/// Note that the ingested files have exactly one alternate allele. +#[derive(Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)] +pub struct CallInfo { + /// The sample name. + pub sample: String, + /// The genotype, if applicable, e.g., "0/1" + pub genotype: Option, + /// Genotype quality score, if applicable + pub quality: Option, + /// Total read coverage at site in the sample. + pub dp: Option, + /// Alternate allele depth for the single allele in the sample. + pub ad: Option, + /// Physical phasing ID for this sample. + pub phasing_id: Option, +} + +impl Eq for CallInfo {} + +/// pub trait for total allele counts. +pub trait An { + /// Number of covered alleles. + fn an(&self) -> i32; +} + +/// pub trait for variant alternate allele counts. +pub trait Ac { + /// Number of homozygous/homoplasmic carriers. + fn hom(&self) -> i32; + /// Number of heterozygous/heteroplasmic carriers. + fn het(&self) -> i32; + /// Number of total alternate alleles. + fn ac(&self) -> i32; +} + +/// pub trait for allele frequency. +pub trait Af { + /// Allele frequency. + fn af(&self) -> f32; +} + +/// Blanket implementation of `Af` for any type that implements `Ac` and `An`. +impl Af for T { + fn af(&self) -> f32 { + if self.an() == 0 { + 0.0 + } else { + self.ac() as f32 / self.an() as f32 + } + } +} + +/// pub trait for carrier count. +pub trait Carriers { + /// Total number of carriers. + fn carriers(&self) -> i32; +} + +/// pub trait for nuclear variant alternate allele including hemizygous. +pub trait Hemi: Ac { + /// Number of hemizygous carriers. + fn hemi(&self) -> i32; +} + +/// gnomAD Population frequencies for variants on nuclear chromosomes. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct NuclearFrequencies { + /// Number of alleles. + pub an: i32, + /// Number of homozygous carriers. + pub hom: i32, + /// Number of heterozygous carriers. + pub het: i32, + /// Number of hemizygous carriers. + pub hemi: i32, +} + +impl An for NuclearFrequencies { + fn an(&self) -> i32 { + self.an + } +} + +impl Ac for NuclearFrequencies { + fn hom(&self) -> i32 { + self.hom + } + fn het(&self) -> i32 { + self.het + } + fn ac(&self) -> i32 { + 2 * self.hom + self.het + self.hemi + } +} + +impl Hemi for NuclearFrequencies { + fn hemi(&self) -> i32 { + self.hemi + } +} + +impl Carriers for NuclearFrequencies { + fn carriers(&self) -> i32 { + self.hom + self.het + self.hemi + } +} + +/// Population frequencies for variants on the mitochondrial chromosome. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct MitochondrialFrequencies { + /// Number of alleles. + pub an: i32, + /// Number of homoplasmic carriers. + pub hom: i32, + /// Number of heteroplasmic carriers. + pub het: i32, +} + +impl An for MitochondrialFrequencies { + fn an(&self) -> i32 { + self.an + } +} + +impl Ac for MitochondrialFrequencies { + fn hom(&self) -> i32 { + self.hom + } + fn het(&self) -> i32 { + self.het + } + fn ac(&self) -> i32 { + self.hom + self.het + } +} + +impl Carriers for MitochondrialFrequencies { + fn carriers(&self) -> i32 { + self.hom + self.het + } +} + +/// In-house frequencies. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct InHouseFrequencies { + /// Number of homozygous carriers. + pub hom: i32, + /// Number of heterozygous carriers. + pub het: i32, + /// Number of hemizygous carriers. + pub hemi: i32, + /// Total number of carriers. + pub total: i32, +} + +impl Ac for InHouseFrequencies { + fn hom(&self) -> i32 { + self.hom + } + fn het(&self) -> i32 { + self.het + } + fn ac(&self) -> i32 { + 2 * self.hom + self.het + self.hemi + } +} + +impl An for InHouseFrequencies { + fn an(&self) -> i32 { + self.total + } +} + +impl Carriers for InHouseFrequencies { + fn carriers(&self) -> i32 { + 2 * self.hom + self.het + self.hemi + } +} + +/// Population frequencies for a variant. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct PopulationFrequencies { + /// Frequencies in gnomAD-exomes. + pub gnomad_exomes: NuclearFrequencies, + /// Frequencies in gnomAD-genomes. + pub gnomad_genomes: NuclearFrequencies, + /// Frequencies in gnomAD-MT. + pub gnomad_mt: MitochondrialFrequencies, + /// Frequencies in HelixMtDb. + pub helixmtdb: MitochondrialFrequencies, + /// Frequencies in In-house database. + pub inhouse: InHouseFrequencies, +} + +/// Supporting code for `PopulationFrequencies`. +pub(crate) mod population_frequencies { + /// Error type for `FromVcf` implementation. + #[derive(thiserror::Error, Debug, Clone)] + pub enum Error { + // infallibe + } +} + +impl TryFromVcf for PopulationFrequencies { + type Error = population_frequencies::Error; + + fn try_from_vcf( + record: &vcf::variant::RecordBuf, + _header: &vcf::Header, + ) -> Result { + use vcf::variant::record_buf::info::field::Value; + + macro_rules! extract_key { + ($key:ident) => { + let $key = + if let Some(Some(Value::Integer($key))) = record.info().get(stringify!($key)) { + *$key + } else { + 0 + }; + }; + } + + extract_key!(gnomad_exomes_an); + extract_key!(gnomad_exomes_hom); + extract_key!(gnomad_exomes_het); + extract_key!(gnomad_exomes_hemi); + + extract_key!(gnomad_genomes_an); + extract_key!(gnomad_genomes_hom); + extract_key!(gnomad_genomes_het); + extract_key!(gnomad_genomes_hemi); + + extract_key!(gnomad_mtdna_an); + extract_key!(gnomad_mtdna_hom); + extract_key!(gnomad_mtdna_het); + + extract_key!(helix_an); + extract_key!(helix_hom); + extract_key!(helix_het); + + Ok(PopulationFrequencies { + gnomad_exomes: NuclearFrequencies { + an: gnomad_exomes_an, + hom: gnomad_exomes_hom, + het: gnomad_exomes_het, + hemi: gnomad_exomes_hemi, + }, + gnomad_genomes: NuclearFrequencies { + an: gnomad_genomes_an, + hom: gnomad_genomes_hom, + het: gnomad_genomes_het, + hemi: gnomad_genomes_hemi, + }, + gnomad_mt: MitochondrialFrequencies { + an: gnomad_mtdna_an, + hom: gnomad_mtdna_hom, + het: gnomad_mtdna_het, + }, + helixmtdb: MitochondrialFrequencies { + an: helix_an, + hom: helix_hom, + het: helix_het, + }, + inhouse: Default::default(), + }) + } +} + +/// Sequence variant representation VCF-style. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct VcfVariant { + /// Chromosome. + pub chrom: String, + /// Position. + pub pos: i32, + /// Reference allele. + pub ref_allele: String, + /// Alternate allele. + pub alt_allele: String, +} + +impl Into for VcfVariant { + fn into(self) -> annonars::common::spdi::Var { + annonars::common::spdi::Var::new( + annonars::common::cli::canonicalize(&self.chrom), + self.pos, + self.ref_allele, + self.alt_allele, + ) + } +} + +/// Supporting code for `VcfVariant`. +pub(crate) mod vcf_variant { + /// Error type for `FromVcf` implementation. + #[derive(thiserror::Error, Debug, Clone)] + pub enum Error { + #[error("Missing POS value")] + MissingVariantStart, + #[error("Missing ALT values")] + MissingAlternateBases, + } +} + +impl TryFromVcf for VcfVariant { + type Error = vcf_variant::Error; + + fn try_from_vcf( + record: &vcf::variant::RecordBuf, + header: &vcf::Header, + ) -> Result { + let chrom = record.reference_sequence_name().to_string(); + let pos = usize::from( + record + .variant_start() + .ok_or(Self::Error::MissingVariantStart)?, + ) as i32; + + let ref_allele = record.reference_bases().to_string(); + let alt_allele = record + .alternate_bases() + .as_ref() + .iter() + .next() + .ok_or(Self::Error::MissingAlternateBases)? + .to_string(); + + Ok(Self { + chrom, + pos, + ref_allele, + alt_allele, + }) + } +} + +/// Helper type with mapping from sample name to `CallInfo`. +#[derive(Debug, Clone, Default)] +pub struct CallInfos { + /// Mapping from sample name to `CallInfo`. + pub call_infos: indexmap::IndexMap, +} + +/// Supporting code for `CallInfos`. +pub(crate) mod call_infos { + use crate::common::GenotypeToStringError; + + /// Error type for `FromVcf` implementation. + #[derive(thiserror::Error, Debug, Clone)] + pub enum Error { + #[error("Empty FORMAT/AD")] + EmptyFormatAd, + #[error("Problem parsing genotype: {0}")] + GenotypeParseError(#[from] GenotypeToStringError), + } +} + +impl TryFromVcf for CallInfos { + type Error = call_infos::Error; + + fn try_from_vcf( + record: &vcf::variant::RecordBuf, + header: &vcf::Header, + ) -> Result { + use vcf::variant::record::samples::keys::key; + let mut result = indexmap::IndexMap::new(); + + for (name, sample) in header.sample_names().iter().zip(record.samples().values()) { + let genotype = if let Some(Some( + vcf::variant::record_buf::samples::sample::value::Value::Genotype(gt), + )) = sample.get(key::GENOTYPE) + { + Some(genotype_to_string(>)?) + } else { + None + }; + let quality = if let Some(Some( + vcf::variant::record_buf::samples::sample::value::Value::Integer(quality), + )) = sample.get(key::CONDITIONAL_GENOTYPE_QUALITY) + { + Some(*quality as f32) + } else { + None + }; + let dp = if let Some(Some( + vcf::variant::record_buf::samples::sample::value::Value::Integer(dp), + )) = sample.get(key::READ_DEPTH) + { + Some(*dp) + } else { + None + }; + let ad = + if let Some(Some(vcf::variant::record_buf::samples::sample::value::Value::Array( + vcf::variant::record_buf::samples::sample::value::Array::Integer(ad), + ))) = sample.get(key::READ_DEPTHS) + { + Some(ad[1].ok_or(Self::Error::EmptyFormatAd)?) + } else { + None + }; + let phase_set = if let Some(Some( + vcf::variant::record_buf::samples::sample::value::Value::Integer(id), + )) = sample.get(key::PHASE_SET) + { + Some(*id) + } else { + None + }; + + result.insert( + name.clone(), + CallInfo { + sample: name.clone(), + genotype, + quality, + dp, + ad, + phasing_id: phase_set, + }, + ); + } + + Ok(CallInfos { call_infos: result }) + } +} + +/// Helper type with `AnnField` records. +#[derive(Debug, Clone, Default)] +pub struct AnnFields { + /// Mapping from sample name to `CallInfo`. + pub ann_fields: Vec, +} + +/// Supporting code for `AnnFields`. +pub(crate) mod ann_fields { + /// Error type for `FromVcf` implementation. + #[derive(thiserror::Error, Debug, Clone)] + pub enum Error { + #[error("Problem parsing INFO/ANN: {0}")] + ParseError(String), + #[error("Invalid type of INFO/ANN")] + InvalidTypeInfoAnn, + } +} + +impl TryFromVcf for AnnFields { + type Error = ann_fields::Error; + + fn try_from_vcf( + record: &vcf::variant::RecordBuf, + _header: &vcf::Header, + ) -> Result { + if let Some(Some(ann)) = record.info().get("ANN") { + if let vcf::variant::record_buf::info::field::Value::Array( + vcf::variant::record_buf::info::field::value::Array::String(ann), + ) = ann + { + Ok(AnnFields { + ann_fields: ann + .iter() + .flatten() + .map(|s| s.parse::()) + .collect::, _>>() + .map_err(|e| Self::Error::ParseError(format!("{}", e)))?, + }) + } else { + return Err(ann_fields::Error::InvalidTypeInfoAnn); + } + } else { + Ok(Default::default()) + } + } +} + +/// Sequence variant record. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct VariantRecord { + /// VCF-style variant. + pub vcf_variant: VcfVariant, + /// Call information. + pub call_infos: indexmap::IndexMap, + /// Annotation fields. + pub ann_fields: Vec, + /// Population frequencies. + pub population_frequencies: PopulationFrequencies, +} + +/// Supporting code for `VariantRecord`. +pub(crate) mod variant_record { + /// Error type for `FromVcf` implementation. + #[derive(thiserror::Error, Debug, Clone)] + pub enum Error { + #[error("Problem with variant description: {0:?}")] + VcfVariantError(#[from] super::vcf_variant::Error), + #[error("Problem with call information: {0:?}")] + CallInfosError(#[from] super::call_infos::Error), + #[error("Problem with annotation fields: {0:?}")] + AnnFieldsError(#[from] super::ann_fields::Error), + #[error("Problem with population frequencies: {0:?}")] + PopulationFrequenciesError(#[from] super::population_frequencies::Error), + } +} + +impl TryFromVcf for VariantRecord { + type Error = variant_record::Error; + + /// Convert from VCF record. + /// + /// # Arguments + /// + /// * `record` - VCF record. + /// * `header` - VCF header. + /// + /// # Errors + /// + /// Returns an error if the record cannot be extracted. + fn try_from_vcf( + record: &vcf::variant::RecordBuf, + header: &vcf::Header, + ) -> Result { + let vcf_variant = VcfVariant::try_from_vcf(record, header)?; + let CallInfos { call_infos } = CallInfos::try_from_vcf(record, header)?; + let AnnFields { ann_fields } = AnnFields::try_from_vcf(record, header)?; + let population_frequencies = PopulationFrequencies::try_from_vcf(record, header)?; + + Ok(Self { + vcf_variant, + call_infos, + ann_fields, + population_frequencies, + }) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[rstest::fixture] + fn nuclear_frequencies() -> NuclearFrequencies { + NuclearFrequencies { + an: 100, + hom: 10, + het: 20, + hemi: 5, + } + } + + #[rstest::fixture] + fn mitochondrial_frequencies() -> MitochondrialFrequencies { + MitochondrialFrequencies { + an: 100, + hom: 10, + het: 20, + } + } + + #[rstest::fixture] + fn inhouse_frequencies() -> InHouseFrequencies { + InHouseFrequencies { + hom: 10, + het: 20, + hemi: 5, + total: 35, + } + } + + #[rstest::fixture] + fn population_frequencies( + nuclear_frequencies: NuclearFrequencies, + mitochondrial_frequencies: MitochondrialFrequencies, + inhouse_frequencies: InHouseFrequencies, + ) -> PopulationFrequencies { + PopulationFrequencies { + gnomad_exomes: nuclear_frequencies.clone(), + gnomad_genomes: nuclear_frequencies.clone(), + gnomad_mt: mitochondrial_frequencies.clone(), + helixmtdb: mitochondrial_frequencies.clone(), + inhouse: inhouse_frequencies.clone(), + } + } + + #[rstest::rstest] + fn test_nuclear_frequencies_an(nuclear_frequencies: NuclearFrequencies) { + assert_eq!(nuclear_frequencies.an(), 100); + } + + #[rstest::rstest] + fn test_nuclear_frequencies_ac(nuclear_frequencies: NuclearFrequencies) { + assert_eq!(nuclear_frequencies.hom(), 10); + assert_eq!(nuclear_frequencies.het(), 20); + assert_eq!(nuclear_frequencies.ac(), 45); + } + + #[rstest::rstest] + fn test_nuclear_frequencies_af(nuclear_frequencies: NuclearFrequencies) { + assert_eq!(nuclear_frequencies.af(), 0.45); + } + + #[rstest::rstest] + fn test_nuclear_frequencies_hemi(nuclear_frequencies: NuclearFrequencies) { + assert_eq!(nuclear_frequencies.hemi(), 5); + } + + #[rstest::rstest] + fn test_nuclear_frequencies_carriers(nuclear_frequencies: NuclearFrequencies) { + assert_eq!(nuclear_frequencies.carriers(), 35); + } + + #[rstest::rstest] + fn test_mitochondrial_frequencies_an(mitochondrial_frequencies: MitochondrialFrequencies) { + assert_eq!(mitochondrial_frequencies.an(), 100); + } + + #[rstest::rstest] + fn test_mitochondrial_frequencies_ac(mitochondrial_frequencies: MitochondrialFrequencies) { + assert_eq!(mitochondrial_frequencies.hom(), 10); + assert_eq!(mitochondrial_frequencies.het(), 20); + assert_eq!(mitochondrial_frequencies.ac(), 30); + } + + #[rstest::rstest] + fn test_mitochondrial_frequencies_af(mitochondrial_frequencies: MitochondrialFrequencies) { + assert_eq!(mitochondrial_frequencies.af(), 0.3); + } + + #[rstest::rstest] + fn test_mitochondrial_frequencies_carriers( + mitochondrial_frequencies: MitochondrialFrequencies, + ) { + assert_eq!(mitochondrial_frequencies.carriers(), 30); + } + + #[rstest::rstest] + fn test_inhouse_frequencies_ac(inhouse_frequencies: InHouseFrequencies) { + assert_eq!(inhouse_frequencies.hom(), 10); + assert_eq!(inhouse_frequencies.het(), 20); + assert_eq!(inhouse_frequencies.ac(), 45); + } + + #[rstest::rstest] + fn test_inhouse_frequencies_carriers(inhouse_frequencies: InHouseFrequencies) { + assert_eq!(inhouse_frequencies.carriers(), 35); + } + + #[rstest::rstest] + fn test_population_frequencies(population_frequencies: PopulationFrequencies) { + assert_eq!(population_frequencies.gnomad_exomes.an, 100); + assert_eq!(population_frequencies.gnomad_genomes.an, 100); + assert_eq!(population_frequencies.gnomad_mt.an, 100); + assert_eq!(population_frequencies.helixmtdb.an, 100); + assert_eq!(population_frequencies.inhouse.total, 35); + } + + #[rstest::rstest] + #[case("tests/seqvars/query/Case_1.ingested.vcf")] + #[case("tests/seqvars/query/dragen.ingested.vcf")] + pub fn sequence_variant_from_vcf(#[case] path_input: &str) -> Result<(), anyhow::Error> { + use noodles::vcf::variant::RecordBuf; + + mehari::common::set_snapshot_suffix!("{}", path_input.split('/').last().unwrap()); + + let mut vcf_reader = vcf::io::reader::Builder::default() + .build_from_path(path_input) + .unwrap(); + let header = vcf_reader.read_header()?; + + for record in vcf_reader.records() { + let record = record?; + let seqvar = super::VariantRecord::try_from_vcf( + &RecordBuf::try_from_variant_record(&header, &record)?, + &header, + )?; + + insta::assert_yaml_snapshot!(&seqvar); + } + + Ok(()) + } +} diff --git a/src/seqvars/query/schema/mod.rs b/src/seqvars/query/schema/mod.rs new file mode 100644 index 00000000..2424e2b5 --- /dev/null +++ b/src/seqvars/query/schema/mod.rs @@ -0,0 +1,4 @@ +//! Internal Rust representations for query and data. + +pub mod data; +pub mod query; diff --git a/src/seqvars/query/schema/query.rs b/src/seqvars/query/schema/query.rs new file mode 100644 index 00000000..065ddce3 --- /dev/null +++ b/src/seqvars/query/schema/query.rs @@ -0,0 +1,2197 @@ +//! Code for representing query definitions. +//! +//! We generally use protobuf JSON for representing queries when stored. +//! After deserialization, they are converted into the data structures defined +//! here. + +use crate::pbs::varfish::v1::seqvars::query as pb_query; + +/// Enumeration for recessvive mode queries. +#[derive( + Debug, + Clone, + Copy, + Default, + PartialEq, + Eq, + PartialOrd, + Ord, + Hash, + serde::Serialize, + serde::Deserialize, +)] +pub enum RecessiveMode { + /// Disabled recessive mode, + #[default] + Disabled, + /// Compound heterozygous recessive mode. + CompoundHeterozygous, + /// Homozygous recessive mode. + Homozygous, + /// Generic recessive mode. + Any, +} + +/// Supporting code for `RecessiveMode`. +pub(crate) mod recessive_mode { + /// Error type for `RecessiveMode::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert protobuf RecessiveMode: {0:?}")] + UnknownRecessiveModeValue(super::pb_query::RecessiveMode), + } +} + +impl TryFrom for RecessiveMode { + type Error = recessive_mode::Error; + + fn try_from(value: pb_query::RecessiveMode) -> Result { + match value { + pb_query::RecessiveMode::Disabled => Ok(RecessiveMode::Disabled), + pb_query::RecessiveMode::CompoundHeterozygous => { + Ok(RecessiveMode::CompoundHeterozygous) + } + pb_query::RecessiveMode::Homozygous => Ok(RecessiveMode::Homozygous), + pb_query::RecessiveMode::Any => Ok(RecessiveMode::Any), + _ => Err(recessive_mode::Error::UnknownRecessiveModeValue(value)), + } + } +} + +/// Enumeration type for genotype choice. +#[derive( + Debug, + Clone, + Copy, + Default, + PartialEq, + Eq, + PartialOrd, + Ord, + Hash, + serde::Serialize, + serde::Deserialize, +)] +pub enum GenotypeChoice { + /// Any genotype. + #[default] + Any, + /// Reference genotype. + Ref, + /// Heterozygous genotype. + Het, + /// Homozygous genotype. + Hom, + /// Non-heterozygous genotype. + NonHet, + /// Non-homozygous genotype. + NonHom, + /// Variant genotype. + Variant, + /// Recessive index. + RecessiveIndex, + /// Recessive parent. + RecessiveParent, +} + +/// Supporting code for `GenotypeChoice`. +pub(crate) mod genotype_choice { + /// Error type for `GenotypeChoice::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert protobuf GenotypeChoice: {0:?}")] + UnknownGenotypeChoiceValue(super::pb_query::GenotypeChoice), + } +} + +impl TryFrom for GenotypeChoice { + type Error = genotype_choice::Error; + + fn try_from(value: pb_query::GenotypeChoice) -> Result { + match value { + pb_query::GenotypeChoice::Any => Ok(GenotypeChoice::Any), + pb_query::GenotypeChoice::Ref => Ok(GenotypeChoice::Ref), + pb_query::GenotypeChoice::Het => Ok(GenotypeChoice::Het), + pb_query::GenotypeChoice::Hom => Ok(GenotypeChoice::Hom), + pb_query::GenotypeChoice::NonHet => Ok(GenotypeChoice::NonHet), + pb_query::GenotypeChoice::NonHom => Ok(GenotypeChoice::NonHom), + pb_query::GenotypeChoice::Variant => Ok(GenotypeChoice::Variant), + pb_query::GenotypeChoice::RecessiveIndex => Ok(GenotypeChoice::RecessiveIndex), + pb_query::GenotypeChoice::RecessiveParent => Ok(GenotypeChoice::RecessiveParent), + _ => Err(Self::Error::UnknownGenotypeChoiceValue(value)), + } + } +} + +/// Trait that describes whether a string matches a value. +/// +/// Note that we assume properly ingested VCFs with only one alternate allele. +/// The valid genotype strings have the form "/", "|" or +/// "" with "" being one of "0", "1", and ".". +pub trait MatchesGenotypeStr { + /// Whether `self` matches `s`. + /// + /// # Arguments + /// + /// * `gt_str` - The string to match against. + /// + /// # Returns + /// + /// `true` if `self` matches `gt_str`, `false` otherwise. + fn matches(&self, gt_tr: &str) -> bool; +} + +impl MatchesGenotypeStr for GenotypeChoice { + fn matches(&self, gt_str: &str) -> bool { + let gt_str = if gt_str.starts_with('/') || gt_str.starts_with('|') { + >_str[1..] + } else { + gt_str + }; + match self { + GenotypeChoice::Any => true, + GenotypeChoice::Ref => ["0", "0|0", "0/0"].contains(>_str), + GenotypeChoice::RecessiveIndex + | GenotypeChoice::RecessiveParent + | GenotypeChoice::Het => ["0/1", "0|1", "1/0", "1|0"].contains(>_str), + GenotypeChoice::Hom => ["1", "1/1", "1|1"].contains(>_str), + GenotypeChoice::NonHom => !["1", "1/1", "1|1"].contains(>_str), + GenotypeChoice::NonHet => !["0/1", "0|1", "1/0", "1|0"].contains(>_str), + GenotypeChoice::Variant => { + ["1", "0/1", "0|1", "1/0", "1|0", "1|1", "1/1"].contains(>_str) + } + } + } +} + +/// Query for a single sample. +#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct SampleGenotypeChoice { + /// Name of the sample filtered for. + pub sample: String, + /// Genotype choice. + pub genotype: GenotypeChoice, + /// Whether to include no-call (will disable quality filter). + pub include_no_call: bool, + /// Whether to enable sample in filtration. + pub enabled: bool, +} + +impl Default for SampleGenotypeChoice { + fn default() -> Self { + Self { + sample: Default::default(), + genotype: Default::default(), + include_no_call: false, + enabled: true, + } + } +} + +/// Supporting code for `SampleGenotypeChoice`. +pub(crate) mod sample_genotype_choice { + /// Error type for `SampleGenotypeChoice::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert i32 into protobuf GenotypeChoice: {0}")] + UnknownGenotypeChoiceInt(i32), + #[error("Cannot convert protobuf GenotypeChoice: {0:?}")] + UnknownGenotypeChoiceValue(super::pb_query::GenotypeChoice), + } +} + +impl TryFrom for SampleGenotypeChoice { + type Error = sample_genotype_choice::Error; + + fn try_from(value: pb_query::SampleGenotypeChoice) -> Result { + let pb_genotype = pb_query::GenotypeChoice::try_from(value.genotype) + .map_err(|_| Self::Error::UnknownGenotypeChoiceInt(value.genotype))?; + Ok(Self { + sample: value.sample, + genotype: GenotypeChoice::try_from(pb_genotype) + .map_err(|_| Self::Error::UnknownGenotypeChoiceValue(pb_genotype))?, + include_no_call: value.include_no_call, + enabled: value.enabled, + }) + } +} + +/// Query settings for genotypes. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct QuerySettingsGenotype { + /// Recessive mode. + pub recessive_mode: RecessiveMode, + /// Mapping from sample name to sample genotype choice. + pub sample_genotypes: indexmap::IndexMap, +} + +/// Support code for `QuerySettingsGenotype`. +pub(crate) mod query_settings_genotype { + /// Error type for `QuerySettingsGenotype::recessive_index()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum RecessiveIndexError { + #[error("No recessive index sample found")] + NoRecessiveIndexSample, + #[error("Multiple recessive index samples found: {0:?}")] + MultipleRecessiveIndexSamples(Vec), + } + + /// Error type for `QuerySettingsGenotype::recessive_parents()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum RecessiveParentsError { + #[error("Too many recessive parent samples found: {0:?}")] + TooManyRecessiveParentsFound(Vec), + } + + /// Error type for `QuerySettingsGenotype::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert i32 into protobuf RecessiveMode: {0}")] + UnknownRecessiveModeInt(i32), + #[error("Cannot convert protobuf RecessiveMode: {0:?}")] + UnknownRecessiveModeValue(super::pb_query::RecessiveMode), + #[error("Sample occured twice in sample_genotypes: {0:?}")] + DuplicateSample(String), + #[error("Invalid sample genotype choice: {0}")] + InvalidSampleGenotypeChoice(#[from] super::sample_genotype_choice::Error), + } +} + +impl QuerySettingsGenotype { + /// Return the selected recessive index sample. + /// + /// # Returns + /// + /// The sample name of the recessive index sample. + /// + /// # Errors + /// + /// * `RecessiveIndexError::NoRecessiveIndexSample` if no recessive index sample is found. + /// * `RecessiveIndexError::MultipleRecessiveIndexSamples` if multiple recessive index samples are found. + pub fn recessive_index(&self) -> Result { + let samples = self + .sample_genotypes + .values() + .filter(|sgc| sgc.genotype == GenotypeChoice::RecessiveIndex) + .map(|sgc| sgc.sample.clone()) + .collect::>(); + if samples.is_empty() { + Err(query_settings_genotype::RecessiveIndexError::NoRecessiveIndexSample) + } else if samples.len() > 1 { + Err( + query_settings_genotype::RecessiveIndexError::MultipleRecessiveIndexSamples( + samples, + ), + ) + } else { + Ok(samples[0].clone()) + } + } + + /// Return the selected recessive parent samples. + /// + /// # Returns + /// + /// The sample names of the recessive parent samples (zero to two). + /// + /// # Errors + /// + /// * `RecessiveParentsError::TooManyRecessiveParentsFound` if more than two recessive parent samples are found. + pub fn recessive_parents( + &self, + ) -> Result, query_settings_genotype::RecessiveParentsError> { + let samples = self + .sample_genotypes + .values() + .filter(|sgc| sgc.genotype == GenotypeChoice::RecessiveParent) + .map(|sgc| sgc.sample.clone()) + .collect::>(); + if samples.len() > 2 { + Err( + query_settings_genotype::RecessiveParentsError::TooManyRecessiveParentsFound( + samples, + ), + ) + } else { + Ok(samples) + } + } +} + +impl TryFrom for QuerySettingsGenotype { + type Error = query_settings_genotype::Error; + + fn try_from(value: pb_query::QuerySettingsGenotype) -> Result { + let pb_recessive_mode = pb_query::RecessiveMode::try_from(value.recessive_mode) + .map_err(|_| Self::Error::UnknownRecessiveModeInt(value.recessive_mode))?; + let recessive_mode = RecessiveMode::try_from(pb_recessive_mode) + .map_err(|_| Self::Error::UnknownRecessiveModeValue(pb_recessive_mode))?; + + let mut sample_genotypes = indexmap::IndexMap::new(); + for pb_sample_genotype in value.sample_genotypes { + let sample_genotype = SampleGenotypeChoice::try_from(pb_sample_genotype) + .map_err(|e| Self::Error::InvalidSampleGenotypeChoice(e))?; + if sample_genotypes.contains_key(&sample_genotype.sample) { + return Err(Self::Error::DuplicateSample(sample_genotype.sample)); + } + sample_genotypes.insert(sample_genotype.sample.clone(), sample_genotype); + } + + Ok(Self { + recessive_mode, + sample_genotypes, + }) + } +} + +/// Quality settings for one sample. +#[derive(Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)] +pub struct SampleQualitySettings { + /// Name of the sample filtered for. + pub sample: String, + /// Drop whole variant on failure. + pub filter_active: bool, + /// Minimal coverage for het. sites. + pub min_dp_het: Option, + /// Minimal coverage for hom. sites. + pub min_dp_hom: Option, + /// Minimal genotype quality. + pub min_gq: Option, + /// Minimal allele balance for het. variants. + pub min_ab: Option, + /// Minimal number of alternate reads. + pub min_ad: Option, + /// Maximal number of alternate reads. + pub max_ad: Option, +} + +impl Eq for SampleQualitySettings {} + +impl From for SampleQualitySettings { + fn from(value: pb_query::SampleQualitySettings) -> Self { + Self { + sample: value.sample, + filter_active: value.filter_active, + min_dp_het: value.min_dp_het, + min_dp_hom: value.min_dp_hom, + min_gq: value.min_gq, + min_ab: value.min_ab, + min_ad: value.min_ad, + max_ad: value.max_ad, + } + } +} + +/// Per-sample quality filter settings. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct QuerySettingsQuality { + /// Mapping from sample name to sample quality settings. + pub sample_qualities: indexmap::IndexMap, +} + +/// Supporting code for `QuerySettingsQuality`. +pub(crate) mod query_settings_quality { + /// Error type for `QuerySettingsQuality::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Sample occured twice in sample_qualities: {0:?}")] + DuplicateSample(String), + } +} + +impl TryFrom for QuerySettingsQuality { + type Error = query_settings_quality::Error; + + fn try_from(value: pb_query::QuerySettingsQuality) -> Result { + let mut sample_qualities = indexmap::IndexMap::new(); + for pb_sample_quality in value.sample_qualities { + let sample_quality = SampleQualitySettings::from(pb_sample_quality); + if sample_qualities.contains_key(&sample_quality.sample) { + return Err(Self::Error::DuplicateSample(sample_quality.sample)); + } + sample_qualities.insert(sample_quality.sample.clone(), sample_quality); + } + Ok(Self { sample_qualities }) + } +} + +/// gnomAD nuclear filter options. +#[derive(Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)] +pub struct GnomadNuclearFrequencySettings { + /// Whether to enable filtration by 1000 Genomes. + pub enabled: bool, + /// Maximal number of in-house heterozygous carriers. + pub heterozygous: Option, + /// Maximal number of in-house homozygous carriers. + pub homozygous: Option, + /// Maximal number of in-house hemizygous carriers. + pub hemizygous: Option, + /// Maximal allele frequency. + pub frequency: Option, +} + +impl Eq for GnomadNuclearFrequencySettings {} + +impl From for GnomadNuclearFrequencySettings { + fn from(value: pb_query::GnomadNuclearFreqyencySettings) -> Self { + Self { + enabled: value.enabled, + heterozygous: value.heterozygous, + homozygous: value.homozygous, + hemizygous: value.hemizygous, + frequency: value.frequency, + } + } +} + +/// gnomAD mitochondrial filter options. +#[derive(Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)] +pub struct GnomadMitochondrialFrequencySettings { + /// Whether to enable filtration by 1000 Genomes. + pub enabled: bool, + /// Maximal number of heteroplasmic carriers. + pub heteroplasmic: Option, + /// Maximal number of homoplasmic carriers. + pub homoplasmic: Option, + /// Maximal allele frequency. + pub frequency: Option, +} + +impl Eq for GnomadMitochondrialFrequencySettings {} + +impl From for GnomadMitochondrialFrequencySettings { + fn from(value: pb_query::GnomadMitochondrialFrequencySettings) -> Self { + Self { + enabled: value.enabled, + heteroplasmic: value.heteroplasmic, + homoplasmic: value.homoplasmic, + frequency: value.frequency, + } + } +} + +/// HelixMtDb filter options. +#[derive(Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)] +pub struct HelixMtDbFrequencySettings { + /// Whether to enable filtration by mtDB. + pub enabled: bool, + /// Maximal number of heterozygous carriers in HelixMtDb. + pub heteroplasmic: Option, + /// Maximal number of homozygous carriers in HelixMtDb. + pub homoplasmic: Option, + /// Maximal frequency in HelixMtDb. + pub frequency: Option, +} + +impl Eq for HelixMtDbFrequencySettings {} + +impl From for HelixMtDbFrequencySettings { + fn from(value: pb_query::HelixMtDbFrequencySettings) -> Self { + Self { + enabled: value.enabled, + heteroplasmic: value.heteroplasmic, + homoplasmic: value.homoplasmic, + frequency: value.frequency, + } + } +} + +/// In-house frequency filter options. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct InhouseFrequencySettings { + /// Whether to enable filtration by 1000 Genomes. + pub enabled: bool, + /// Maximal number of in-house heterozygous carriers. + pub heterozygous: Option, + /// Maximal number of in-house homozygous carriers. + pub homozygous: Option, + /// Maximal number of in-house hemizygous carriers. + pub hemizygous: Option, + /// Maximal number of in-house carriers. + pub carriers: Option, +} + +impl From for InhouseFrequencySettings { + fn from(value: pb_query::InhouseFrequencySettings) -> Self { + Self { + enabled: value.enabled, + heterozygous: value.heterozygous, + homozygous: value.homozygous, + hemizygous: value.hemizygous, + carriers: value.carriers, + } + } +} + +/// Query settings for population frequencies. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct QuerySettingsFrequency { + /// gnomAD-exomes filter. + pub gnomad_exomes: GnomadNuclearFrequencySettings, + /// gnomAD-genomes filter. + pub gnomad_genomes: GnomadNuclearFrequencySettings, + /// gnomAD-MT filter. + pub gnomad_mt: GnomadMitochondrialFrequencySettings, + /// HelixMtDb filter. + pub helixmtdb: HelixMtDbFrequencySettings, + /// In-house filter. + pub inhouse: InhouseFrequencySettings, +} + +/// Supporting code for `QuerySettingsFrequency`. +pub(crate) mod query_settings_frequency { + /// Error type for `QuerySettingsFrequency::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("gnomad_exomes missing in protobuf")] + GnomadExomesMissing, + #[error("gnomad_genomes missing in protobuf")] + GnomadGenomesMissing, + #[error("gnomad_mt missing in protobuf")] + GnomadMtMissing, + #[error("helixmtdb missing in protobuf")] + HelixMtDbMissing, + #[error("inhouse missing in protobuf")] + InhouseMissing, + } +} + +impl TryFrom for QuerySettingsFrequency { + type Error = query_settings_frequency::Error; + + fn try_from(value: pb_query::QuerySettingsFrequency) -> Result { + Ok(Self { + gnomad_exomes: GnomadNuclearFrequencySettings::from( + value + .gnomad_exomes + .ok_or(Self::Error::GnomadExomesMissing)?, + ), + gnomad_genomes: GnomadNuclearFrequencySettings::from( + value + .gnomad_genomes + .ok_or(Self::Error::GnomadGenomesMissing)?, + ), + gnomad_mt: GnomadMitochondrialFrequencySettings::from( + value.gnomad_mt.ok_or(Self::Error::GnomadMtMissing)?, + ), + helixmtdb: HelixMtDbFrequencySettings::from( + value.helixmtdb.ok_or(Self::Error::HelixMtDbMissing)?, + ), + inhouse: InhouseFrequencySettings::from( + value.inhouse.ok_or(Self::Error::InhouseMissing)?, + ), + }) + } +} + +/// Variant Types. +#[derive( + Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, +)] +pub enum VariantType { + /// SNV. + Snv, + /// Indel. + Indel, + /// MNV. + Mnv, + /// Complex substitution. + ComplexSubstitution, +} + +/// Supporting code for `VariantType`. +pub(crate) mod variant_type { + /// Error type for `VariantType::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert protobuf VariantType: {0:?}")] + UnknownVariantTypeValue(super::pb_query::VariantType), + } +} + +impl TryFrom for VariantType { + type Error = variant_type::Error; + + fn try_from(value: pb_query::VariantType) -> Result { + match value { + pb_query::VariantType::Snv => Ok(VariantType::Snv), + pb_query::VariantType::Indel => Ok(VariantType::Indel), + pb_query::VariantType::Mnv => Ok(VariantType::Mnv), + pb_query::VariantType::ComplexSubstitution => Ok(VariantType::ComplexSubstitution), + _ => Err(variant_type::Error::UnknownVariantTypeValue(value)), + } + } +} + +/// Transcript types. +#[derive( + Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, serde::Serialize, serde::Deserialize, +)] +pub enum TranscriptType { + /// Coding transcripts. + Coding, + /// Non-coding transcripts. + NonCoding, +} + +/// Supporting code for `TranscriptType`. +pub(crate) mod transcript_type { + /// Error type for `TranscriptType::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert protobuf TranscriptType: {0:?}")] + UnknownTranscriptTypeValue(super::pb_query::TranscriptType), + } +} + +impl TryFrom for TranscriptType { + type Error = transcript_type::Error; + + fn try_from(value: pb_query::TranscriptType) -> Result { + match value { + pb_query::TranscriptType::Coding => Ok(TranscriptType::Coding), + pb_query::TranscriptType::NonCoding => Ok(TranscriptType::NonCoding), + _ => Err(transcript_type::Error::UnknownTranscriptTypeValue(value)), + } + } +} + +/// Consequence types. +#[derive( + Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, serde::Serialize, serde::Deserialize, strum::EnumIter +)] +pub enum Consequence { + /* + * High impact. + */ + /// Transcript ablation. + TranscriptAblation, + /// Exon loss variant. + ExonLossVariant, + /// Splice acceptor variant. + SpliceAcceptorVariant, + /// Splice donor variant. + SpliceDonorVariant, + /// Stop gained. + StopGained, + /// Frameshift variant. + FrameshiftVariant, + /// Stop lost. + StopLost, + /// Start lost. + StartLost, + /// Transcript amplification. + TranscriptAmplification, + /* + * Moderate impact. + */ + /// Disruptive inframe insertion. + DisruptiveInframeInsertion, + /// Disruptive inframe deletion. + DisruptiveInframeDeletion, + /// Conservative inframe insertion. + ConservativeInframeInsertion, + /// Conservative inframe deletion. + ConservativeInframeDeletion, + /// Missense variant. + MissenseVariant, + /* + * Low impact. + */ + /// Splice donor 5th base variant. + SpliceDonorFifthBaseVariant, + /// Splice region variant. + SpliceRegionVariant, + /// Splice donor region variant. + SpliceDonorRegionVariant, + /// Splice polypyrimidine tract variant. + SplicePolypyrimidineTractVariant, + /// Start retained variant. + StartRetainedVariant, + /// Stop retained variant. + StopRetainedVariant, + /// Synonymous variant. + SynonymousVariant, + /* + * Modifier. + */ + /// Coding sequence variant. + CodingSequenceVariant, + /// 5' UTR exon variant. + FivePrimeUtrExonVariant, + /// 5' UTR intron variant. + FivePrimeUtrIntronVariant, + /// 3' UTR exon variant. + ThreePrimeUtrExonVariant, + /// 3' UTR intron variant. + ThreePrimeUtrIntronVariant, + /// Non-coding transcript exon variant. + NonCodingTranscriptExonVariant, + /// Non-coding transcript intron variant. + NonCodingTranscriptIntronVariant, + /// Upstream gene variant. + UpstreamGeneVariant, + /// Downstream gene variant. + DownstreamGeneVariant, + /// Intergenic variant. + IntergenicVariant, + /// Intron variant. + IntronVariant, +} + +/// Supporting code for `Consequence`. +pub(crate) mod consequence { + /// Error type for `Consequence::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert protobuf Consequence: {0:?}")] + UnknownConsequenceValue(super::pb_query::Consequence), + } +} + +impl TryFrom for Consequence { + type Error = consequence::Error; + + fn try_from(value: pb_query::Consequence) -> Result { + match value { + pb_query::Consequence::TranscriptAblation => Ok(Consequence::TranscriptAblation), + pb_query::Consequence::ExonLossVariant => Ok(Consequence::ExonLossVariant), + pb_query::Consequence::SpliceAcceptorVariant => Ok(Consequence::SpliceAcceptorVariant), + pb_query::Consequence::SpliceDonorVariant => Ok(Consequence::SpliceDonorVariant), + pb_query::Consequence::StopGained => Ok(Consequence::StopGained), + pb_query::Consequence::FrameshiftVariant => Ok(Consequence::FrameshiftVariant), + pb_query::Consequence::StopLost => Ok(Consequence::StopLost), + pb_query::Consequence::StartLost => Ok(Consequence::StartLost), + pb_query::Consequence::TranscriptAmplification => { + Ok(Consequence::TranscriptAmplification) + } + pb_query::Consequence::DisruptiveInframeInsertion => { + Ok(Consequence::DisruptiveInframeInsertion) + } + pb_query::Consequence::DisruptiveInframeDeletion => { + Ok(Consequence::DisruptiveInframeDeletion) + } + pb_query::Consequence::ConservativeInframeInsertion => { + Ok(Consequence::ConservativeInframeInsertion) + } + pb_query::Consequence::ConservativeInframeDeletion => { + Ok(Consequence::ConservativeInframeDeletion) + } + pb_query::Consequence::MissenseVariant => Ok(Consequence::MissenseVariant), + pb_query::Consequence::SpliceDonorFifthBaseVariant => { + Ok(Consequence::SpliceDonorFifthBaseVariant) + } + pb_query::Consequence::SpliceRegionVariant => Ok(Consequence::SpliceRegionVariant), + pb_query::Consequence::SpliceDonorRegionVariant => { + Ok(Consequence::SpliceDonorRegionVariant) + } + pb_query::Consequence::SplicePolypyrimidineTractVariant => { + Ok(Consequence::SplicePolypyrimidineTractVariant) + } + pb_query::Consequence::StartRetainedVariant => Ok(Consequence::StartRetainedVariant), + pb_query::Consequence::StopRetainedVariant => Ok(Consequence::StopRetainedVariant), + pb_query::Consequence::SynonymousVariant => Ok(Consequence::SynonymousVariant), + pb_query::Consequence::CodingSequenceVariant => Ok(Consequence::CodingSequenceVariant), + pb_query::Consequence::FivePrimeUtrExonVariant => { + Ok(Consequence::FivePrimeUtrExonVariant) + } + pb_query::Consequence::FivePrimeUtrIntronVariant => { + Ok(Consequence::FivePrimeUtrIntronVariant) + } + pb_query::Consequence::ThreePrimeUtrExonVariant => { + Ok(Consequence::ThreePrimeUtrExonVariant) + } + pb_query::Consequence::ThreePrimeUtrIntronVariant => { + Ok(Consequence::ThreePrimeUtrIntronVariant) + } + pb_query::Consequence::NonCodingTranscriptExonVariant => { + Ok(Consequence::NonCodingTranscriptExonVariant) + } + pb_query::Consequence::NonCodingTranscriptIntronVariant => { + Ok(Consequence::NonCodingTranscriptIntronVariant) + } + pb_query::Consequence::UpstreamGeneVariant => Ok(Consequence::UpstreamGeneVariant), + pb_query::Consequence::DownstreamGeneVariant => Ok(Consequence::DownstreamGeneVariant), + pb_query::Consequence::IntergenicVariant => Ok(Consequence::IntergenicVariant), + pb_query::Consequence::IntronVariant => Ok(Consequence::IntronVariant), + _ => Err(consequence::Error::UnknownConsequenceValue(value)), + } + } +} + +impl Into for Consequence { + fn into(self) -> mehari::annotate::seqvars::ann::Consequence { + use mehari::annotate::seqvars::ann; + + match self { + Consequence::TranscriptAblation => ann::Consequence::TranscriptAblation, + Consequence::ExonLossVariant => ann::Consequence::ExonLossVariant, + Consequence::SpliceAcceptorVariant => ann::Consequence::SpliceAcceptorVariant, + Consequence::SpliceDonorVariant => ann::Consequence::SpliceDonorVariant, + Consequence::StopGained => ann::Consequence::StopGained, + Consequence::FrameshiftVariant => ann::Consequence::FrameshiftVariant, + Consequence::StopLost => ann::Consequence::StopLost, + Consequence::StartLost => ann::Consequence::StartLost, + Consequence::TranscriptAmplification => ann::Consequence::TranscriptAmplification, + Consequence::DisruptiveInframeInsertion => ann::Consequence::DisruptiveInframeInsertion, + Consequence::DisruptiveInframeDeletion => ann::Consequence::DisruptiveInframeDeletion, + Consequence::ConservativeInframeInsertion => { + ann::Consequence::ConservativeInframeInsertion + } + Consequence::ConservativeInframeDeletion => { + ann::Consequence::ConservativeInframeDeletion + } + Consequence::MissenseVariant => ann::Consequence::MissenseVariant, + Consequence::SpliceDonorFifthBaseVariant => { + ann::Consequence::SpliceDonorFifthBaseVariant + } + Consequence::SpliceRegionVariant => ann::Consequence::SpliceRegionVariant, + Consequence::SpliceDonorRegionVariant => ann::Consequence::SpliceDonorRegionVariant, + Consequence::SplicePolypyrimidineTractVariant => { + ann::Consequence::SplicePolypyrimidineTractVariant + } + Consequence::StartRetainedVariant => ann::Consequence::StartRetainedVariant, + Consequence::StopRetainedVariant => ann::Consequence::StopRetainedVariant, + Consequence::SynonymousVariant => ann::Consequence::SynonymousVariant, + Consequence::CodingSequenceVariant => ann::Consequence::CodingSequenceVariant, + Consequence::FivePrimeUtrExonVariant => ann::Consequence::FivePrimeUtrExonVariant, + Consequence::FivePrimeUtrIntronVariant => ann::Consequence::FivePrimeUtrIntronVariant, + Consequence::ThreePrimeUtrExonVariant => ann::Consequence::ThreePrimeUtrExonVariant, + Consequence::ThreePrimeUtrIntronVariant => ann::Consequence::ThreePrimeUtrIntronVariant, + Consequence::NonCodingTranscriptExonVariant => { + ann::Consequence::NonCodingTranscriptExonVariant + } + Consequence::NonCodingTranscriptIntronVariant => { + ann::Consequence::NonCodingTranscriptIntronVariant + } + Consequence::UpstreamGeneVariant => ann::Consequence::UpstreamGeneVariant, + Consequence::DownstreamGeneVariant => ann::Consequence::DownstreamGeneVariant, + Consequence::IntergenicVariant => ann::Consequence::IntergenicVariant, + Consequence::IntronVariant => ann::Consequence::IntronVariant, + } + } +} + +/// Query settings for consequence types. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct QuerySettingsConsequence { + /// Variant types. + pub variant_types: Vec, + /// Transcript types. + pub transcript_types: Vec, + /// Consequences to consider. + pub consequences: Vec, + /// Maximal distance to next exon. + pub max_dist_to_exon: Option, +} + +/// Supporting code for `QuerySettingsConsequence`. +pub(crate) mod query_settings_consequence { + /// Error type for `QuerySettingsConsequence::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert i32 into protobuf VariantType: {0}")] + UnknownVariantTypeInt(i32), + #[error("Cannot convert protobuf VariantType: {0:?}")] + UnknownVariantTypeValue(super::pb_query::VariantType), + #[error("Cannot convert i32 into protobuf TranscriptType: {0}")] + UnknownTranscriptTypeInt(i32), + #[error("Cannot convert protobuf TranscriptType: {0:?}")] + UnknownTranscriptTypeValue(super::pb_query::TranscriptType), + #[error("Cannot convert i32 into protobuf Consequence: {0}")] + UnknownConsequenceInt(i32), + #[error("Cannot convert protobuf Consequence: {0:?}")] + UnknownConsequenceValue(super::pb_query::Consequence), + } +} + +impl TryFrom for QuerySettingsConsequence { + type Error = query_settings_consequence::Error; + + fn try_from(value: pb_query::QuerySettingsConsequence) -> Result { + let variant_types = value + .variant_types + .into_iter() + .map(|v| { + let v = pb_query::VariantType::try_from(v) + .map_err(|_| query_settings_consequence::Error::UnknownVariantTypeInt(v))?; + VariantType::try_from(v) + .map_err(|_| query_settings_consequence::Error::UnknownVariantTypeValue(v)) + }) + .collect::, _>>()?; + let transcript_types = value + .transcript_types + .into_iter() + .map(|v| { + let v = pb_query::TranscriptType::try_from(v) + .map_err(|_| query_settings_consequence::Error::UnknownTranscriptTypeInt(v))?; + TranscriptType::try_from(v) + .map_err(|_| query_settings_consequence::Error::UnknownTranscriptTypeValue(v)) + }) + .collect::, _>>()?; + let consequences = value + .consequences + .into_iter() + .map(|v| { + let v = pb_query::Consequence::try_from(v) + .map_err(|_| query_settings_consequence::Error::UnknownConsequenceInt(v))?; + Consequence::try_from(v) + .map_err(|_| query_settings_consequence::Error::UnknownConsequenceValue(v)) + }) + .collect::, _>>()?; + Ok(Self { + variant_types, + transcript_types, + consequences, + max_dist_to_exon: value.max_dist_to_exon, + }) + } +} + +/// A 1-based integer range. +#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct Range { + /// 1-based start position. + pub start: i32, + /// 1-based end position. + pub end: i32, +} + +impl From for Range { + fn from(value: pb_query::Range) -> Self { + Self { + start: value.start, + end: value.end, + } + } +} + +/// Genomic region. +#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct GenomicRegion { + /// Chromosome. + pub chrom: String, + /// Range of region. + pub range: Option, +} + +impl From for GenomicRegion { + fn from(value: pb_query::GenomicRegion) -> Self { + Self { + chrom: value.chrom, + range: value.range.map(Range::from), + } + } +} + +/// Query settings for locus. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct QuerySettingsLocus { + /// List of HGNC identifiers for filtration to genes. + pub genes: Vec, + /// List of genomic regions to limit restrict the resulting variants to. + pub genome_regions: Vec, +} + +impl From for QuerySettingsLocus { + fn from(value: pb_query::QuerySettingsLocus) -> Self { + Self { + genes: value.genes, + genome_regions: value + .genome_regions + .into_iter() + .map(GenomicRegion::from) + .collect(), + } + } +} + +// Canonical ClinVar germline aggregate descriptions. +#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub enum ClinvarGermlineAggregateDescription { + /// Pathogenic. + Pathogenic, + /// Likely pathogenic. + LikelyPathogenic, + /// Uncertain significance. + UncertainSignificance, + /// Likely benign. + LikelyBenign, + /// Benign. + Benign, +} + +/// Supporting code for `ClinvarGermlineAggregateDescription`. +pub(crate) mod clinvar_germline_aggregate_description { + /// Error type for `ClinvarGermlineAggregateDescription::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert protobuf ClinvarGermlineAggregateDescription: {0:?}")] + UnknownClinvarGermlineAggregateDescriptionValue( + super::pb_query::ClinvarGermlineAggregateDescription, + ), + } +} + +impl TryFrom + for ClinvarGermlineAggregateDescription +{ + type Error = clinvar_germline_aggregate_description::Error; + + fn try_from(value: pb_query::ClinvarGermlineAggregateDescription) -> Result { + match value { + pb_query::ClinvarGermlineAggregateDescription::Pathogenic => Ok(ClinvarGermlineAggregateDescription::Pathogenic), + pb_query::ClinvarGermlineAggregateDescription::LikelyPathogenic => Ok(ClinvarGermlineAggregateDescription::LikelyPathogenic), + pb_query::ClinvarGermlineAggregateDescription::UncertainSignificance => Ok(ClinvarGermlineAggregateDescription::UncertainSignificance), + pb_query::ClinvarGermlineAggregateDescription::LikelyBenign => Ok(ClinvarGermlineAggregateDescription::LikelyBenign), + pb_query::ClinvarGermlineAggregateDescription::Benign => Ok(ClinvarGermlineAggregateDescription::Benign), + _ => Err(clinvar_germline_aggregate_description::Error::UnknownClinvarGermlineAggregateDescriptionValue(value)), + } + } +} + +/// Query settings for ClinVar. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct QuerySettingsClinVar { + /// Whether to require ClinVar membership. + pub presence_required: bool, + /// The ClinVar germline aggregate description to include. + pub germline_descriptions: Vec, + /// Whether to include conflicting interpretation ClinVar variants. + pub allow_conflicting_interpretations: bool, +} + +/// Supporting code for `QuerySettingsClinVar`. +pub(crate) mod query_settings_clinvar { + /// Error type for `QuerySettingsClinVar::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Cannot convert i32 into protobuf ClinvarGermlineAggregateDescription: {0}")] + UnknownClinvarGermlineAggregateDescriptionInt(i32), + #[error("Cannot convert protobuf ClinvarGermlineAggregateDescription: {0:?}")] + UnknownClinvarGermlineAggregateDescriptionValue( + super::pb_query::ClinvarGermlineAggregateDescription, + ), + } +} + +impl TryFrom for QuerySettingsClinVar { + type Error = query_settings_clinvar::Error; + + fn try_from(value: pb_query::QuerySettingsClinVar) -> Result { + let germline_descriptions = value + .germline_descriptions + .into_iter() + .map(|v| { + pb_query::ClinvarGermlineAggregateDescription::try_from(v) + .map_err(|_| Self::Error::UnknownClinvarGermlineAggregateDescriptionInt(v)) + }) + .collect::, _>>()?; + let germline_descriptions = germline_descriptions + .into_iter() + .map(|v| { + ClinvarGermlineAggregateDescription::try_from(v) + .map_err(|_| Self::Error::UnknownClinvarGermlineAggregateDescriptionValue(v)) + }) + .collect::, _>>()?; + + Ok(Self { + presence_required: value.presence_required, + germline_descriptions, + allow_conflicting_interpretations: value.allow_conflicting_interpretations, + }) + } +} + +/// Query settings for one case. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct CaseQuery { + /// Genotype query settings. + pub genotype: QuerySettingsGenotype, + /// Quality query settings. + pub quality: QuerySettingsQuality, + /// Frequency query settings. + pub frequency: QuerySettingsFrequency, + /// Consequence query settings. + pub consequence: QuerySettingsConsequence, + /// Locus query settings. + pub locus: QuerySettingsLocus, + /// ClinVar query settings. + pub clinvar: QuerySettingsClinVar, +} + +/// Supporting code for `CaseQuery`. +pub(crate) mod case_query { + /// Error type for `CaseQuery::try_from()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum Error { + #[error("Missing genotype in protobuf")] + GenotypeMissing, + #[error("Problem converting protobuf for genotype: {0}")] + GenotypeConversion(#[from] super::query_settings_genotype::Error), + #[error("Missing quality in protobuf")] + QualityMissing, + #[error("Problem converting protobuf for quality: {0}")] + QualityConversion(#[from] super::query_settings_quality::Error), + #[error("Missing frequency in protobuf")] + FrequencyMissing, + #[error("Problem converting protobuf for frequency: {0}")] + FrequencyConversion(#[from] super::query_settings_frequency::Error), + #[error("Missing consequence in protobuf")] + ConsequenceMissing, + #[error("Problem converting protobuf for consequence: {0}")] + ConsequenceConversion(#[from] super::query_settings_consequence::Error), + #[error("Missing locus in protobuf")] + LocusMissing, + #[error("Missing clinvar in protobuf")] + ClinVarMissing, + #[error("Problem converting protobuf for clinvar: {0}")] + ClinVarConversion(#[from] super::query_settings_clinvar::Error), + } +} + +impl TryFrom for CaseQuery { + type Error = case_query::Error; + + fn try_from(value: pb_query::CaseQuery) -> Result { + let pb_query::CaseQuery { + genotype, + quality, + frequency, + consequence, + locus, + clinvar, + } = value; + + let genotype = + QuerySettingsGenotype::try_from(genotype.ok_or(Self::Error::GenotypeMissing)?) + .map_err(|e| Self::Error::GenotypeConversion(e))?; + let quality = QuerySettingsQuality::try_from(quality.ok_or(Self::Error::QualityMissing)?) + .map_err(|e| Self::Error::QualityConversion(e))?; + let frequency = + QuerySettingsFrequency::try_from(frequency.ok_or(Self::Error::FrequencyMissing)?) + .map_err(|e| Self::Error::FrequencyConversion(e))?; + let consequence = + QuerySettingsConsequence::try_from(consequence.ok_or(Self::Error::ConsequenceMissing)?) + .map_err(|e| Self::Error::ConsequenceConversion(e))?; + let locus = QuerySettingsLocus::from(locus.ok_or(Self::Error::LocusMissing)?); + let clinvar = QuerySettingsClinVar::try_from(clinvar.ok_or(Self::Error::ClinVarMissing)?) + .map_err(|e| Self::Error::ClinVarConversion(e))?; + + Ok(Self { + genotype, + quality, + frequency, + consequence, + locus, + clinvar, + }) + } +} + +#[cfg(test)] +mod tests { + use query_settings_genotype::RecessiveIndexError; + + use super::*; + + #[test] + fn test_recessive_mode_try_from() { + assert_eq!( + RecessiveMode::try_from(pb_query::RecessiveMode::Disabled).unwrap(), + RecessiveMode::Disabled + ); + assert_eq!( + RecessiveMode::try_from(pb_query::RecessiveMode::CompoundHeterozygous).unwrap(), + RecessiveMode::CompoundHeterozygous + ); + assert_eq!( + RecessiveMode::try_from(pb_query::RecessiveMode::Homozygous).unwrap(), + RecessiveMode::Homozygous + ); + assert_eq!( + RecessiveMode::try_from(pb_query::RecessiveMode::Any).unwrap(), + RecessiveMode::Any + ); + assert!(RecessiveMode::try_from(pb_query::RecessiveMode::Unspecified).is_err()); + } + + #[test] + fn test_genotype_choice_try_from() { + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::Any).unwrap(), + GenotypeChoice::Any + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::Ref).unwrap(), + GenotypeChoice::Ref + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::Het).unwrap(), + GenotypeChoice::Het + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::Hom).unwrap(), + GenotypeChoice::Hom + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::NonHet).unwrap(), + GenotypeChoice::NonHet + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::NonHom).unwrap(), + GenotypeChoice::NonHom + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::Variant).unwrap(), + GenotypeChoice::Variant + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::RecessiveIndex).unwrap(), + GenotypeChoice::RecessiveIndex + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::RecessiveParent).unwrap(), + GenotypeChoice::RecessiveParent + ); + assert!(GenotypeChoice::try_from(pb_query::GenotypeChoice::Unspecified).is_err()); + } + + #[test] + fn test_sample_genotype_choice_try_from() { + let pb_sample_genotype_choice = pb_query::SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: pb_query::GenotypeChoice::Any as i32, + include_no_call: true, + enabled: true, + }; + let sample_genotype_choice = SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: GenotypeChoice::Any, + include_no_call: true, + enabled: true, + }; + assert_eq!( + SampleGenotypeChoice::try_from(pb_sample_genotype_choice).unwrap(), + sample_genotype_choice + ); + } + + pub mod genotype_choice { + use super::GenotypeChoice::{self, *}; + + #[rstest::rstest] + #[case(Any, &["0", "0/0", "0|0", "1", "1/1", "1|1", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], true)] + #[case(Ref, &["0", "0/0", "0|0"], true)] + #[case(Ref, &[ "1", "1/1", "1|1", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] + #[case(Het, &["0/1", "0|1", "1/0", "1|0"], true)] + #[case(Het, &["0", "0/0", "0|0", "1", "1/1", "1|1", ".", "./.", ".|."], false)] + #[case(Hom, &["1", "1/1", "1|1"], true)] + #[case(Hom, &["0", "0/0", "0|0", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] + #[case(NonHom, &["1", "1/1", "1|1"], false)] + #[case(NonHom, &["0", "0/0", "0|0", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], true)] + #[case(Variant, &["1", "1/1", "1|1", "0/1", "0|1", "1/0", "1|0"], true)] + #[case(Variant, &["0", "0/0", "0|0", ".", "./.", ".|."], false)] + pub fn matches( + #[case] genotype_choice: GenotypeChoice, + #[case] gt_strs: &[&str], + #[case] expected: bool, + ) { + use crate::seqvars::query::schema::query::MatchesGenotypeStr as _; + + for gt_str in gt_strs { + assert_eq!( + genotype_choice.matches(gt_str), + expected, + "{:?} {}", + genotype_choice, + gt_str + ); + } + } + } + + #[test] + fn test_query_settings_genotype_recessive_index_none() { + let query_settings_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::CompoundHeterozygous, + sample_genotypes: Default::default(), + }; + + assert_eq!( + query_settings_genotype.recessive_index(), + Err(RecessiveIndexError::NoRecessiveIndexSample) + ); + } + + #[test] + fn test_query_settings_genotype_recessive_index_single() { + let query_settings_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::CompoundHeterozygous, + sample_genotypes: indexmap::indexmap! { + String::from("sample") => SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: GenotypeChoice::RecessiveIndex, + include_no_call: true, + enabled: true, + } + }, + }; + + assert_eq!( + query_settings_genotype.recessive_index(), + Ok(String::from("sample")) + ); + } + + #[test] + fn test_query_settings_genotype_recessive_index_two() { + let query_settings_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::CompoundHeterozygous, + sample_genotypes: indexmap::indexmap! { + String::from("sample") => SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: GenotypeChoice::RecessiveIndex, + include_no_call: true, + enabled: true, + }, + String::from("sample2") => SampleGenotypeChoice { + sample: "sample2".to_string(), + genotype: GenotypeChoice::RecessiveIndex, + include_no_call: true, + enabled: true, + } + }, + }; + + assert_eq!( + query_settings_genotype.recessive_index(), + Err(RecessiveIndexError::MultipleRecessiveIndexSamples(vec![ + String::from("sample"), + String::from("sample2") + ])) + ); + } + + #[test] + fn test_query_settings_genotype_try_from() { + let pb_query_settings_genotype = pb_query::QuerySettingsGenotype { + recessive_mode: pb_query::RecessiveMode::Disabled as i32, + sample_genotypes: vec![pb_query::SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: pb_query::GenotypeChoice::Any as i32, + include_no_call: true, + enabled: true, + }], + }; + let query_settings_genotype = QuerySettingsGenotype { + recessive_mode: RecessiveMode::Disabled, + sample_genotypes: { + let mut map = indexmap::IndexMap::new(); + map.insert( + "sample".to_string(), + SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: GenotypeChoice::Any, + include_no_call: true, + enabled: true, + }, + ); + map + }, + }; + assert_eq!( + QuerySettingsGenotype::try_from(pb_query_settings_genotype).unwrap(), + query_settings_genotype + ); + } + + #[test] + fn test_sample_quality_settings_from() { + let pb_sample_quality_settings = pb_query::SampleQualitySettings { + sample: "sample".to_string(), + filter_active: true, + min_dp_het: Some(10), + min_dp_hom: Some(20), + min_gq: Some(30), + min_ab: Some(0.1), + min_ad: Some(40), + max_ad: Some(50), + }; + let sample_quality_settings = SampleQualitySettings { + sample: "sample".to_string(), + filter_active: true, + min_dp_het: Some(10), + min_dp_hom: Some(20), + min_gq: Some(30), + min_ab: Some(0.1), + min_ad: Some(40), + max_ad: Some(50), + }; + assert_eq!( + SampleQualitySettings::from(pb_sample_quality_settings), + sample_quality_settings + ); + } + + #[test] + fn test_query_settings_quality_try_from() { + let pb_query_settings_quality = pb_query::QuerySettingsQuality { + sample_qualities: vec![pb_query::SampleQualitySettings { + sample: "sample".to_string(), + filter_active: true, + min_dp_het: Some(10), + min_dp_hom: Some(20), + min_gq: Some(30), + min_ab: Some(0.1), + min_ad: Some(40), + max_ad: Some(50), + }], + }; + let query_settings_quality = QuerySettingsQuality { + sample_qualities: { + let mut map = indexmap::IndexMap::new(); + map.insert( + "sample".to_string(), + SampleQualitySettings { + sample: "sample".to_string(), + filter_active: true, + min_dp_het: Some(10), + min_dp_hom: Some(20), + min_gq: Some(30), + min_ab: Some(0.1), + min_ad: Some(40), + max_ad: Some(50), + }, + ); + map + }, + }; + assert_eq!( + QuerySettingsQuality::try_from(pb_query_settings_quality).unwrap(), + query_settings_quality + ); + } + + #[test] + fn test_gnomad_nuclear_frequency_settings_from() { + let pb_gnomad_nuclear_frequency_settings = pb_query::GnomadNuclearFreqyencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }; + let gnomad_nuclear_frequency_settings = GnomadNuclearFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }; + assert_eq!( + GnomadNuclearFrequencySettings::from(pb_gnomad_nuclear_frequency_settings), + gnomad_nuclear_frequency_settings + ); + } + + #[test] + fn test_gnomad_mitochondrial_frequency_settings_from() { + let pb_gnomad_mitochondrial_frequency_settings = + pb_query::GnomadMitochondrialFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }; + let gnomad_mitochondrial_frequency_settings = GnomadMitochondrialFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }; + assert_eq!( + GnomadMitochondrialFrequencySettings::from(pb_gnomad_mitochondrial_frequency_settings), + gnomad_mitochondrial_frequency_settings + ); + } + + #[test] + fn test_helix_mtdb_frequency_settings_from() { + let pb_helix_mtdb_frequency_settings = pb_query::HelixMtDbFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }; + let helix_mtdb_frequency_settings = HelixMtDbFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }; + assert_eq!( + HelixMtDbFrequencySettings::from(pb_helix_mtdb_frequency_settings), + helix_mtdb_frequency_settings + ); + } + + #[test] + fn test_inhouse_frequency_settings_from() { + let pb_inhouse_frequency_settings = pb_query::InhouseFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + carriers: Some(40), + }; + let inhouse_frequency_settings = InhouseFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + carriers: Some(40), + }; + assert_eq!( + InhouseFrequencySettings::from(pb_inhouse_frequency_settings), + inhouse_frequency_settings + ); + } + + #[test] + fn test_query_settings_frequency_try_from() { + let pb_query_settings_frequency = pb_query::QuerySettingsFrequency { + gnomad_exomes: Some(pb_query::GnomadNuclearFreqyencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }), + gnomad_genomes: Some(pb_query::GnomadNuclearFreqyencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }), + gnomad_mt: Some(pb_query::GnomadMitochondrialFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }), + helixmtdb: Some(pb_query::HelixMtDbFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }), + inhouse: Some(pb_query::InhouseFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + carriers: Some(40), + }), + }; + let query_settings_frequency = QuerySettingsFrequency { + gnomad_exomes: GnomadNuclearFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }, + gnomad_genomes: GnomadNuclearFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }, + gnomad_mt: GnomadMitochondrialFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }, + helixmtdb: HelixMtDbFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }, + inhouse: InhouseFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + carriers: Some(40), + }, + }; + assert_eq!( + QuerySettingsFrequency::try_from(pb_query_settings_frequency).unwrap(), + query_settings_frequency + ); + } + + #[test] + fn test_variant_type_try_from() { + assert_eq!( + VariantType::try_from(pb_query::VariantType::Snv).unwrap(), + VariantType::Snv + ); + assert_eq!( + VariantType::try_from(pb_query::VariantType::Indel).unwrap(), + VariantType::Indel + ); + assert_eq!( + VariantType::try_from(pb_query::VariantType::Mnv).unwrap(), + VariantType::Mnv + ); + assert_eq!( + VariantType::try_from(pb_query::VariantType::ComplexSubstitution).unwrap(), + VariantType::ComplexSubstitution + ); + assert!(VariantType::try_from(pb_query::VariantType::Unspecified).is_err()); + } + + #[test] + fn test_transcript_type_try_from() { + assert_eq!( + TranscriptType::try_from(pb_query::TranscriptType::Coding).unwrap(), + TranscriptType::Coding + ); + assert_eq!( + TranscriptType::try_from(pb_query::TranscriptType::NonCoding).unwrap(), + TranscriptType::NonCoding + ); + assert!(TranscriptType::try_from(pb_query::TranscriptType::Unspecified).is_err()); + } + + #[test] + fn test_consequence_try_from() { + assert_eq!( + Consequence::try_from(pb_query::Consequence::TranscriptAblation).unwrap(), + Consequence::TranscriptAblation + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::ExonLossVariant).unwrap(), + Consequence::ExonLossVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::SpliceAcceptorVariant).unwrap(), + Consequence::SpliceAcceptorVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::SpliceDonorVariant).unwrap(), + Consequence::SpliceDonorVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::StopGained).unwrap(), + Consequence::StopGained + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::FrameshiftVariant).unwrap(), + Consequence::FrameshiftVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::StopLost).unwrap(), + Consequence::StopLost + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::StartLost).unwrap(), + Consequence::StartLost + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::TranscriptAmplification).unwrap(), + Consequence::TranscriptAmplification + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::DisruptiveInframeInsertion).unwrap(), + Consequence::DisruptiveInframeInsertion + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::DisruptiveInframeDeletion).unwrap(), + Consequence::DisruptiveInframeDeletion + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::ConservativeInframeInsertion).unwrap(), + Consequence::ConservativeInframeInsertion + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::ConservativeInframeDeletion).unwrap(), + Consequence::ConservativeInframeDeletion + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::MissenseVariant).unwrap(), + Consequence::MissenseVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::SpliceDonorFifthBaseVariant).unwrap(), + Consequence::SpliceDonorFifthBaseVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::SpliceRegionVariant).unwrap(), + Consequence::SpliceRegionVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::SpliceDonorRegionVariant).unwrap(), + Consequence::SpliceDonorRegionVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::SplicePolypyrimidineTractVariant).unwrap(), + Consequence::SplicePolypyrimidineTractVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::StartRetainedVariant).unwrap(), + Consequence::StartRetainedVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::StopRetainedVariant).unwrap(), + Consequence::StopRetainedVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::SynonymousVariant).unwrap(), + Consequence::SynonymousVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::CodingSequenceVariant).unwrap(), + Consequence::CodingSequenceVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::FivePrimeUtrExonVariant).unwrap(), + Consequence::FivePrimeUtrExonVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::FivePrimeUtrIntronVariant).unwrap(), + Consequence::FivePrimeUtrIntronVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::ThreePrimeUtrExonVariant).unwrap(), + Consequence::ThreePrimeUtrExonVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::ThreePrimeUtrIntronVariant).unwrap(), + Consequence::ThreePrimeUtrIntronVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::NonCodingTranscriptExonVariant).unwrap(), + Consequence::NonCodingTranscriptExonVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::NonCodingTranscriptIntronVariant).unwrap(), + Consequence::NonCodingTranscriptIntronVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::UpstreamGeneVariant).unwrap(), + Consequence::UpstreamGeneVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::DownstreamGeneVariant).unwrap(), + Consequence::DownstreamGeneVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::IntergenicVariant).unwrap(), + Consequence::IntergenicVariant + ); + assert_eq!( + Consequence::try_from(pb_query::Consequence::IntronVariant).unwrap(), + Consequence::IntronVariant + ); + assert!(Consequence::try_from(pb_query::Consequence::Unspecified).is_err()); + } + + #[test] + fn test_query_settings_consequence_try_from() { + let pb_query_settings_consequence = pb_query::QuerySettingsConsequence { + variant_types: vec![ + pb_query::VariantType::Unspecified as i32, + pb_query::VariantType::Snv as i32, + pb_query::VariantType::Indel as i32, + pb_query::VariantType::Mnv as i32, + pb_query::VariantType::ComplexSubstitution as i32, + ], + transcript_types: vec![ + pb_query::TranscriptType::Coding as i32, + pb_query::TranscriptType::NonCoding as i32, + ], + consequences: vec![ + pb_query::Consequence::TranscriptAblation as i32, + pb_query::Consequence::ExonLossVariant as i32, + pb_query::Consequence::SpliceAcceptorVariant as i32, + pb_query::Consequence::SpliceDonorVariant as i32, + pb_query::Consequence::StopGained as i32, + pb_query::Consequence::FrameshiftVariant as i32, + pb_query::Consequence::StopLost as i32, + pb_query::Consequence::StartLost as i32, + ], + max_dist_to_exon: Some(10), + }; + let query_settings_consequence = QuerySettingsConsequence { + variant_types: vec![ + VariantType::Snv, + VariantType::Indel, + VariantType::Mnv, + VariantType::ComplexSubstitution, + ], + transcript_types: vec![TranscriptType::Coding, TranscriptType::NonCoding], + consequences: vec![ + Consequence::TranscriptAblation, + Consequence::ExonLossVariant, + Consequence::SpliceAcceptorVariant, + Consequence::SpliceDonorVariant, + Consequence::StopGained, + Consequence::FrameshiftVariant, + Consequence::StopLost, + Consequence::StartLost, + ], + max_dist_to_exon: Some(10), + }; + assert_eq!( + QuerySettingsConsequence::try_from(pb_query_settings_consequence).unwrap(), + query_settings_consequence + ); + } + + #[test] + fn test_range_from() { + let pb_range = pb_query::Range { start: 1, end: 2 }; + let range = Range { start: 1, end: 2 }; + assert_eq!(Range::from(pb_range), range); + } + + #[test] + fn test_genomic_region_from() { + let pb_genomic_region = pb_query::GenomicRegion { + chrom: "chrom".to_string(), + range: Some(pb_query::Range { start: 1, end: 2 }), + }; + let genomic_region = GenomicRegion { + chrom: "chrom".to_string(), + range: Some(Range { start: 1, end: 2 }), + }; + assert_eq!(GenomicRegion::from(pb_genomic_region), genomic_region); + } + + #[test] + fn test_query_settings_locus_from() { + let pb_query_settings_locus = pb_query::QuerySettingsLocus { + genes: vec!["gene".to_string()], + genome_regions: vec![pb_query::GenomicRegion { + chrom: "chrom".to_string(), + range: Some(pb_query::Range { start: 1, end: 2 }), + }], + }; + let query_settings_locus = QuerySettingsLocus { + genes: vec!["gene".to_string()], + genome_regions: vec![GenomicRegion { + chrom: "chrom".to_string(), + range: Some(Range { start: 1, end: 2 }), + }], + }; + assert_eq!( + QuerySettingsLocus::from(pb_query_settings_locus), + query_settings_locus + ); + } + + #[test] + fn test_clinvar_germline_aggregate_description_try_from() { + assert_eq!( + ClinvarGermlineAggregateDescription::try_from( + pb_query::ClinvarGermlineAggregateDescription::Pathogenic + ) + .unwrap(), + ClinvarGermlineAggregateDescription::Pathogenic + ); + assert_eq!( + ClinvarGermlineAggregateDescription::try_from( + pb_query::ClinvarGermlineAggregateDescription::LikelyPathogenic + ) + .unwrap(), + ClinvarGermlineAggregateDescription::LikelyPathogenic + ); + assert_eq!( + ClinvarGermlineAggregateDescription::try_from( + pb_query::ClinvarGermlineAggregateDescription::UncertainSignificance + ) + .unwrap(), + ClinvarGermlineAggregateDescription::UncertainSignificance + ); + assert_eq!( + ClinvarGermlineAggregateDescription::try_from( + pb_query::ClinvarGermlineAggregateDescription::LikelyBenign + ) + .unwrap(), + ClinvarGermlineAggregateDescription::LikelyBenign + ); + assert_eq!( + ClinvarGermlineAggregateDescription::try_from( + pb_query::ClinvarGermlineAggregateDescription::Benign + ) + .unwrap(), + ClinvarGermlineAggregateDescription::Benign + ); + assert!(ClinvarGermlineAggregateDescription::try_from( + pb_query::ClinvarGermlineAggregateDescription::Unspecified + ) + .is_err()); + } + + #[test] + fn test_query_settings_clinvar_try_from() { + let pb_query_settings_clinvar = pb_query::QuerySettingsClinVar { + presence_required: true, + germline_descriptions: vec![ + pb_query::ClinvarGermlineAggregateDescription::Pathogenic as i32, + pb_query::ClinvarGermlineAggregateDescription::LikelyPathogenic as i32, + ], + allow_conflicting_interpretations: true, + }; + let query_settings_clinvar = QuerySettingsClinVar { + presence_required: true, + germline_descriptions: vec![ + ClinvarGermlineAggregateDescription::Pathogenic, + ClinvarGermlineAggregateDescription::LikelyPathogenic, + ], + allow_conflicting_interpretations: true, + }; + assert_eq!( + QuerySettingsClinVar::try_from(pb_query_settings_clinvar).unwrap(), + query_settings_clinvar + ); + } + + #[test] + fn test_case_query_try_from() { + let pb_case_query = pb_query::CaseQuery { + genotype: Some(pb_query::QuerySettingsGenotype { + recessive_mode: pb_query::RecessiveMode::Disabled as i32, + sample_genotypes: vec![pb_query::SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: pb_query::GenotypeChoice::Any as i32, + include_no_call: true, + enabled: true, + }], + }), + quality: Some(pb_query::QuerySettingsQuality { + sample_qualities: vec![pb_query::SampleQualitySettings { + sample: "sample".to_string(), + filter_active: true, + min_dp_het: Some(10), + min_dp_hom: Some(20), + min_gq: Some(30), + min_ab: Some(0.1), + min_ad: Some(40), + max_ad: Some(50), + }], + }), + frequency: Some(pb_query::QuerySettingsFrequency { + gnomad_exomes: Some(pb_query::GnomadNuclearFreqyencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }), + gnomad_genomes: Some(pb_query::GnomadNuclearFreqyencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }), + gnomad_mt: Some(pb_query::GnomadMitochondrialFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }), + helixmtdb: Some(pb_query::HelixMtDbFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }), + inhouse: Some(pb_query::InhouseFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + carriers: Some(40), + }), + }), + consequence: Some(pb_query::QuerySettingsConsequence { + variant_types: vec![ + pb_query::VariantType::Unspecified as i32, + pb_query::VariantType::Snv as i32, + pb_query::VariantType::Indel as i32, + pb_query::VariantType::Mnv as i32, + pb_query::VariantType::ComplexSubstitution as i32, + ], + transcript_types: vec![ + pb_query::TranscriptType::Coding as i32, + pb_query::TranscriptType::NonCoding as i32, + ], + consequences: vec![ + pb_query::Consequence::TranscriptAblation as i32, + pb_query::Consequence::ExonLossVariant as i32, + pb_query::Consequence::SpliceAcceptorVariant as i32, + pb_query::Consequence::SpliceDonorVariant as i32, + pb_query::Consequence::StopGained as i32, + pb_query::Consequence::FrameshiftVariant as i32, + pb_query::Consequence::StopLost as i32, + pb_query::Consequence::StartLost as i32, + ], + max_dist_to_exon: Some(10), + }), + locus: Some(pb_query::QuerySettingsLocus { + genes: vec!["gene".to_string()], + genome_regions: vec![pb_query::GenomicRegion { + chrom: "chrom".to_string(), + range: Some(pb_query::Range { start: 1, end: 2 }), + }], + }), + clinvar: Some(pb_query::QuerySettingsClinVar { + presence_required: true, + germline_descriptions: vec![ + pb_query::ClinvarGermlineAggregateDescription::Pathogenic as i32, + pb_query::ClinvarGermlineAggregateDescription::LikelyPathogenic as i32, + ], + allow_conflicting_interpretations: true, + }), + }; + let case_query = CaseQuery { + genotype: QuerySettingsGenotype { + recessive_mode: RecessiveMode::Disabled, + sample_genotypes: { + let mut map = indexmap::IndexMap::new(); + map.insert( + "sample".to_string(), + SampleGenotypeChoice { + sample: "sample".to_string(), + genotype: GenotypeChoice::Any, + include_no_call: true, + enabled: true, + }, + ); + map + }, + }, + quality: QuerySettingsQuality { + sample_qualities: { + let mut map = indexmap::IndexMap::new(); + map.insert( + "sample".to_string(), + SampleQualitySettings { + sample: "sample".to_string(), + filter_active: true, + min_dp_het: Some(10), + min_dp_hom: Some(20), + min_gq: Some(30), + min_ab: Some(0.1), + min_ad: Some(40), + max_ad: Some(50), + }, + ); + map + }, + }, + frequency: QuerySettingsFrequency { + gnomad_exomes: GnomadNuclearFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }, + gnomad_genomes: GnomadNuclearFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + frequency: Some(0.1), + }, + gnomad_mt: GnomadMitochondrialFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }, + helixmtdb: HelixMtDbFrequencySettings { + enabled: true, + heteroplasmic: Some(10), + homoplasmic: Some(20), + frequency: Some(0.1), + }, + inhouse: InhouseFrequencySettings { + enabled: true, + heterozygous: Some(10), + homozygous: Some(20), + hemizygous: Some(30), + carriers: Some(40), + }, + }, + consequence: QuerySettingsConsequence { + variant_types: vec![ + VariantType::Snv, + VariantType::Indel, + VariantType::Mnv, + VariantType::ComplexSubstitution, + ], + transcript_types: vec![TranscriptType::Coding, TranscriptType::NonCoding], + consequences: vec![ + Consequence::TranscriptAblation, + Consequence::ExonLossVariant, + Consequence::SpliceAcceptorVariant, + Consequence::SpliceDonorVariant, + Consequence::StopGained, + Consequence::FrameshiftVariant, + Consequence::StopLost, + Consequence::StartLost, + ], + max_dist_to_exon: Some(10), + }, + locus: QuerySettingsLocus { + genes: vec!["gene".to_string()], + genome_regions: vec![GenomicRegion { + chrom: "chrom".to_string(), + range: Some(Range { start: 1, end: 2 }), + }], + }, + clinvar: QuerySettingsClinVar { + presence_required: true, + germline_descriptions: vec![ + ClinvarGermlineAggregateDescription::Pathogenic, + ClinvarGermlineAggregateDescription::LikelyPathogenic, + ], + allow_conflicting_interpretations: true, + }, + }; + assert_eq!(CaseQuery::try_from(pb_case_query).unwrap(), case_query); + } + + #[rstest::rstest] + #[case("tests/seqvars/query/empty")] + #[case("tests/seqvars/query/full")] + #[case("tests/seqvars/query/with_extra")] + pub fn smoke_test_load(#[case] path_input: &str) -> Result<(), anyhow::Error> { + mehari::common::set_snapshot_suffix!("{}.json", path_input.split('/').last().unwrap()); + + let query: super::CaseQuery = + serde_json::from_reader(std::fs::File::open(format!("{}.json", path_input))?)?; + + if !path_input.contains("with_extra") { + // Check if pbjson loading yields same result + let query_pb: crate::pbs::varfish::v1::seqvars::query::CaseQuery = + serde_json::from_reader(std::fs::File::open(format!("{}-pb.json", path_input))?)?; + let query_pb_conv = super::CaseQuery::try_from(query_pb)?; + assert_eq!(query, query_pb_conv); + } + insta::assert_yaml_snapshot!(&query); + + Ok(()) + } +} diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap deleted file mode 100644 index ead427e8..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap +++ /dev/null @@ -1,156 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41273700 -reference: C -alternative: CA -ann_fields: - - allele: - Alt: - alternative: CA - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 2 - total: 22 - hgvs_t: c.80+2333_80+2334insT - hgvs_p: p.? - tx_pos: - ord: 193 - total: 7088 - cds_pos: - ord: 80 - total: 5592 - protein_pos: ~ - distance: 2333 - messages: ~ - - allele: - Alt: - alternative: CA - consequences: - - 5_prime_UTR_variant - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 2 - total: 21 - hgvs_t: c.-8+2333_-8+2334insT - hgvs_p: p.? - tx_pos: - ord: 187 - total: 7028 - cds_pos: - ord: -8 - total: 5451 - protein_pos: ~ - distance: 2333 - messages: ~ - - allele: - Alt: - alternative: CA - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 2 - total: 21 - hgvs_t: c.80+2333_80+2334insT - hgvs_p: p.? - tx_pos: - ord: 187 - total: 3696 - cds_pos: - ord: 80 - total: 2100 - protein_pos: ~ - distance: 2333 - messages: ~ - - allele: - Alt: - alternative: CA - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 2 - total: 23 - hgvs_t: c.80+2333_80+2334insT - hgvs_p: p.? - tx_pos: - ord: 193 - total: 7151 - cds_pos: - ord: 80 - total: 5655 - protein_pos: ~ - distance: 2333 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 42 - dp: 14 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 10 - dp: 7 - ad: 1 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 65 - dp: 10 - ad: 5 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap deleted file mode 100644 index 915b4386..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 73 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3975 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2871 - ad: 2871 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3320 - ad: 3320 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap deleted file mode 100644 index 781b0139..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 119 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 5418 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 4039 - ad: 4039 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 4113 - ad: 4112 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap deleted file mode 100644 index ab498001..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 189 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3069 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1721 - ad: 1721 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2204 - ad: 2204 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap deleted file mode 100644 index 2d5a3119..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 195 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2599 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1592 - ad: 1592 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1815 - ad: 1815 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap deleted file mode 100644 index 600682cb..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 204 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2180 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1424 - ad: 1424 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1304 - ad: 1304 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap deleted file mode 100644 index ff9c3f92..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 207 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2115 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1408 - ad: 1408 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1277 - ad: 1277 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap deleted file mode 100644 index 4696d17d..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 263 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1288 - ad: 1288 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1204 - ad: 1204 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1031 - ad: 1031 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap deleted file mode 100644 index 3d05e063..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 302 -reference: A -alternative: ACC -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 844 - ad: 687 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1011 - ad: 6 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 803 - ad: 3 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap deleted file mode 100644 index 990786b9..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 310 -reference: T -alternative: TC -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1035 - ad: 1035 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1411 - ad: 1411 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1091 - ad: 1090 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap deleted file mode 100644 index 9a87b987..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap +++ /dev/null @@ -1,155 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41252332 -reference: T -alternative: C -ann_fields: - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.442-435A>G - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7088 - cds_pos: - ord: 442 - total: 5592 - protein_pos: ~ - distance: -434 - messages: ~ - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.301-435A>G - hgvs_p: p.? - tx_pos: - ord: 495 - total: 7028 - cds_pos: - ord: 301 - total: 5451 - protein_pos: ~ - distance: -434 - messages: ~ - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.442-435A>G - hgvs_p: p.? - tx_pos: - ord: 549 - total: 3696 - cds_pos: - ord: 442 - total: 2100 - protein_pos: ~ - distance: -434 - messages: ~ - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.442-435A>G - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7151 - cds_pos: - ord: 442 - total: 5655 - protein_pos: ~ - distance: -434 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 75 - dp: 25 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 28 - ad: 14 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 40 - ad: 21 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap deleted file mode 100644 index 6a7e3b22..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 477 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2133 - ad: 2129 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2267 - ad: 1 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1725 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap deleted file mode 100644 index dca82aa0..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 709 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2494 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2186 - ad: 2186 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1814 - ad: 1813 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap deleted file mode 100644 index 5aa61fec..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 750 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2757 - ad: 2757 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2392 - ad: 2392 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1621 - ad: 1621 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap deleted file mode 100644 index 17d1f425..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 879 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2853 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2784 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 1898 - ad: 547 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap deleted file mode 100644 index 81c3c6e4..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 1243 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2675 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2198 - ad: 2198 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1655 - ad: 1655 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap deleted file mode 100644 index af3a87fd..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 1438 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3815 - ad: 3815 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3653 - ad: 3653 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2900 - ad: 2900 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap deleted file mode 100644 index 904e7ea2..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 1824 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2668 - ad: 2668 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2409 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1752 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap deleted file mode 100644 index bfa7b0ca..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 2633 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2535 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 2409 - ad: 761 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2269 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap deleted file mode 100644 index 1568e48f..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 2706 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3200 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2847 - ad: 2847 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2020 - ad: 2020 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap deleted file mode 100644 index e0dca656..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 3010 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2841 - ad: 2841 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2385 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1685 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap deleted file mode 100644 index e99e8bc6..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap +++ /dev/null @@ -1,155 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41252691 -reference: ATATAAT -alternative: A -ann_fields: - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.442-800_442-795delATTATA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7088 - cds_pos: - ord: 442 - total: 5592 - protein_pos: ~ - distance: -794 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.301-800_301-795delATTATA - hgvs_p: p.? - tx_pos: - ord: 495 - total: 7028 - cds_pos: - ord: 301 - total: 5451 - protein_pos: ~ - distance: -794 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.442-800_442-795delATTATA - hgvs_p: p.? - tx_pos: - ord: 549 - total: 3696 - cds_pos: - ord: 442 - total: 2100 - protein_pos: ~ - distance: -794 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.442-800_442-795delATTATA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7151 - cds_pos: - ord: 442 - total: 5655 - protein_pos: ~ - distance: -794 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 27 - dp: 9 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 14 - ad: 10 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 23 - ad: 11 - phasing_id: ~ -gnomad_exomes_an: 2368 -gnomad_exomes_hom: 10 -gnomad_exomes_het: 80 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap deleted file mode 100644 index c3f7b67e..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 3505 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2594 - ad: 14 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2363 - ad: 2363 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1664 - ad: 1664 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap deleted file mode 100644 index 6566cd19..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 3784 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 2936 - ad: 2456 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2504 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1991 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap deleted file mode 100644 index 8574d6c9..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 4769 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2689 - ad: 2689 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2549 - ad: 2549 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2108 - ad: 2108 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap deleted file mode 100644 index 5959b3be..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 5046 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2878 - ad: 2 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2466 - ad: 2466 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1661 - ad: 1661 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap deleted file mode 100644 index 7d472bfb..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 5460 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2907 - ad: 2 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2759 - ad: 2759 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1970 - ad: 1968 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap deleted file mode 100644 index d4d9dd52..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 7028 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2580 - ad: 3 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2203 - ad: 2201 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1946 - ad: 1945 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap deleted file mode 100644 index 79819260..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 7864 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3589 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3465 - ad: 3465 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2746 - ad: 2746 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap deleted file mode 100644 index c64b674a..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 8170 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2052 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2257 - ad: 2257 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1774 - ad: 1774 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap deleted file mode 100644 index 1e787feb..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 8251 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2360 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2317 - ad: 2317 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1625 - ad: 1624 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap deleted file mode 100644 index 334983e8..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 8860 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3278 - ad: 3278 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3088 - ad: 3088 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2241 - ad: 2241 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap deleted file mode 100644 index 43a5f962..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap +++ /dev/null @@ -1,155 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41252693 -reference: ATAAT -alternative: A -ann_fields: - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.442-800_442-797delATTA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7088 - cds_pos: - ord: 442 - total: 5592 - protein_pos: ~ - distance: -796 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.301-800_301-797delATTA - hgvs_p: p.? - tx_pos: - ord: 495 - total: 7028 - cds_pos: - ord: 301 - total: 5451 - protein_pos: ~ - distance: -796 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.442-800_442-797delATTA - hgvs_p: p.? - tx_pos: - ord: 549 - total: 3696 - cds_pos: - ord: 442 - total: 2100 - protein_pos: ~ - distance: -796 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.442-800_442-797delATTA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7151 - cds_pos: - ord: 442 - total: 5655 - protein_pos: ~ - distance: -796 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 27 - dp: 9 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 42 - dp: 14 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 22 - ad: 11 - phasing_id: ~ -gnomad_exomes_an: 3866 -gnomad_exomes_hom: 244 -gnomad_exomes_het: 618 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap deleted file mode 100644 index 9203ccc6..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 8994 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2793 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2368 - ad: 2368 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1918 - ad: 1917 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap deleted file mode 100644 index f3d3be09..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 9007 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2959 - ad: 2959 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2442 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1735 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap deleted file mode 100644 index 15091766..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 9150 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3163 - ad: 3163 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3538 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2767 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap deleted file mode 100644 index 1a9bf9a1..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 9380 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3321 - ad: 3320 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3222 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2547 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap deleted file mode 100644 index 4522b5a2..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 10097 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2660 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 2188 - ad: 508 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1851 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap deleted file mode 100644 index f20b6f09..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 11204 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3173 - ad: 5 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2922 - ad: 2922 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2418 - ad: 2418 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap deleted file mode 100644 index e60b17f1..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 11674 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2890 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2666 - ad: 2666 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2180 - ad: 2179 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap deleted file mode 100644 index 26e1826a..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 11719 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3341 - ad: 2 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3052 - ad: 3052 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2203 - ad: 2203 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap deleted file mode 100644 index 112aaa62..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 11947 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2581 - ad: 2 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2273 - ad: 2273 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1804 - ad: 1804 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap deleted file mode 100644 index e8a8c2dc..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 12414 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2855 - ad: 3 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2546 - ad: 2545 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1733 - ad: 1733 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap deleted file mode 100644 index 24837d66..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap +++ /dev/null @@ -1,156 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41252695 -reference: AAT -alternative: A -ann_fields: - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.442-800_442-799delAT - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7088 - cds_pos: - ord: 442 - total: 5592 - protein_pos: ~ - distance: -798 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.301-800_301-799delAT - hgvs_p: p.? - tx_pos: - ord: 495 - total: 7028 - cds_pos: - ord: 301 - total: 5451 - protein_pos: ~ - distance: -798 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.442-800_442-799delAT - hgvs_p: p.? - tx_pos: - ord: 549 - total: 3696 - cds_pos: - ord: 442 - total: 2100 - protein_pos: ~ - distance: -798 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.442-800_442-799delAT - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7151 - cds_pos: - ord: 442 - total: 5655 - protein_pos: ~ - distance: -798 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/1 - quality: 79 - dp: 9 - ad: 6 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 42 - dp: 14 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 66 - dp: 22 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 5066 -gnomad_exomes_hom: 546 -gnomad_exomes_het: 795 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 - diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap deleted file mode 100644 index 05d718ce..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 12648 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1813 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1664 - ad: 1662 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1781 - ad: 1777 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap deleted file mode 100644 index e1928baa..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 12705 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2369 - ad: 10 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2138 - ad: 2137 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1622 - ad: 1621 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap deleted file mode 100644 index c2fc5416..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 13406 -reference: G -alternative: A -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2540 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2216 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 1957 - ad: 733 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap deleted file mode 100644 index 42b81936..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 13611 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3840 - ad: 2 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3717 - ad: 3717 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2835 - ad: 2834 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap deleted file mode 100644 index dce66dd1..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 13928 -reference: G -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 2947 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2700 - ad: 2700 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1880 - ad: 1880 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap deleted file mode 100644 index 264a2925..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 14148 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3021 - ad: 2 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2820 - ad: 2820 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1962 - ad: 1962 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap deleted file mode 100644 index 261174f8..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 14766 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3321 - ad: 3 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3113 - ad: 3111 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2358 - ad: 2355 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap deleted file mode 100644 index 12916e48..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 15326 -reference: A -alternative: G -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3716 - ad: 3716 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3560 - ad: 3560 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2690 - ad: 2690 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap deleted file mode 100644 index 72cf3d51..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 15884 -reference: G -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 3596 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 3167 - ad: 3167 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2734 - ad: 2733 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap deleted file mode 100644 index 21ea363c..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 16184 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1407 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1969 - ad: 1969 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1478 - ad: 1478 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap deleted file mode 100644 index d3c70cf2..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap +++ /dev/null @@ -1,155 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41252696 -reference: A -alternative: T -ann_fields: - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.442-799T>A - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7088 - cds_pos: - ord: 442 - total: 5592 - protein_pos: ~ - distance: -798 - messages: ~ - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.301-799T>A - hgvs_p: p.? - tx_pos: - ord: 495 - total: 7028 - cds_pos: - ord: 301 - total: 5451 - protein_pos: ~ - distance: -798 - messages: ~ - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.442-799T>A - hgvs_p: p.? - tx_pos: - ord: 549 - total: 3696 - cds_pos: - ord: 442 - total: 2100 - protein_pos: ~ - distance: -798 - messages: ~ - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.442-799T>A - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7151 - cds_pos: - ord: 442 - total: 5655 - protein_pos: ~ - distance: -798 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/1 - quality: 78 - dp: 9 - ad: 3 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/1 - quality: 98 - dp: 14 - ad: 4 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 67 - dp: 22 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 4200 -gnomad_exomes_hom: 29 -gnomad_exomes_het: 334 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap deleted file mode 100644 index 36e089af..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 16223 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1406 - ad: 1 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 2018 - ad: 2018 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1472 - ad: 1472 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap deleted file mode 100644 index 19bf7f0b..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 16263 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1478 - ad: 1476 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1994 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1475 - ad: 0 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap deleted file mode 100644 index 8dbee52a..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 16292 -reference: C -alternative: T -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 1652 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1914 - ad: 1913 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1476 - ad: 1476 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap deleted file mode 100644 index e5ffe45e..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap +++ /dev/null @@ -1,43 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 16519 -reference: T -alternative: C -ann_fields: [] -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1759 - ad: 1759 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 4094 - ad: 4094 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 1744 - ad: 1744 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap deleted file mode 100644 index 0865f189..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap +++ /dev/null @@ -1,155 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41252697 -reference: A -alternative: AT -ann_fields: - - allele: - Alt: - alternative: AT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.442-801_442-800insA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7088 - cds_pos: - ord: 442 - total: 5592 - protein_pos: ~ - distance: -800 - messages: ~ - - allele: - Alt: - alternative: AT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.301-801_301-800insA - hgvs_p: p.? - tx_pos: - ord: 495 - total: 7028 - cds_pos: - ord: 301 - total: 5451 - protein_pos: ~ - distance: -800 - messages: ~ - - allele: - Alt: - alternative: AT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.442-801_442-800insA - hgvs_p: p.? - tx_pos: - ord: 549 - total: 3696 - cds_pos: - ord: 442 - total: 2100 - protein_pos: ~ - distance: -800 - messages: ~ - - allele: - Alt: - alternative: AT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.442-801_442-800insA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7151 - cds_pos: - ord: 442 - total: 5655 - protein_pos: ~ - distance: -800 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /1/1 - quality: 99 - dp: 45 - ad: 45 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /1/0 - quality: 99 - dp: 33 - ad: 17 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /1/0 - quality: 99 - dp: 33 - ad: 11 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap deleted file mode 100644 index f2959fc6..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap +++ /dev/null @@ -1,155 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41252697 -reference: A -alternative: ATT -ann_fields: - - allele: - Alt: - alternative: ATT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.442-801_442-800insAA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7088 - cds_pos: - ord: 442 - total: 5592 - protein_pos: ~ - distance: -800 - messages: ~ - - allele: - Alt: - alternative: ATT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.301-801_301-800insAA - hgvs_p: p.? - tx_pos: - ord: 495 - total: 7028 - cds_pos: - ord: 301 - total: 5451 - protein_pos: ~ - distance: -800 - messages: ~ - - allele: - Alt: - alternative: ATT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.442-801_442-800insAA - hgvs_p: p.? - tx_pos: - ord: 549 - total: 3696 - cds_pos: - ord: 442 - total: 2100 - protein_pos: ~ - distance: -800 - messages: ~ - - allele: - Alt: - alternative: ATT - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.442-801_442-800insAA - hgvs_p: p.? - tx_pos: - ord: 555 - total: 7151 - cds_pos: - ord: 442 - total: 5655 - protein_pos: ~ - distance: -800 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 45 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 33 - ad: 16 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 33 - ad: 21 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap deleted file mode 100644 index ad7f4bd7..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap +++ /dev/null @@ -1,155 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41254393 -reference: G -alternative: T -ann_fields: - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.441+1746C>A - hgvs_p: p.? - tx_pos: - ord: 554 - total: 7088 - cds_pos: - ord: 441 - total: 5592 - protein_pos: ~ - distance: 1745 - messages: ~ - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.300+1746C>A - hgvs_p: p.? - tx_pos: - ord: 494 - total: 7028 - cds_pos: - ord: 300 - total: 5451 - protein_pos: ~ - distance: 1745 - messages: ~ - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.441+1746C>A - hgvs_p: p.? - tx_pos: - ord: 548 - total: 3696 - cds_pos: - ord: 441 - total: 2100 - protein_pos: ~ - distance: 1745 - messages: ~ - - allele: - Alt: - alternative: T - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.441+1746C>A - hgvs_p: p.? - tx_pos: - ord: 554 - total: 7151 - cds_pos: - ord: 441 - total: 5655 - protein_pos: ~ - distance: 1745 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/1 - quality: 66 - dp: 37 - ad: 8 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /./. - quality: ~ - dp: ~ - ad: ~ - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/0 - quality: 47 - dp: 35 - ad: 3 - phasing_id: ~ -gnomad_exomes_an: 1936 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 167 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap deleted file mode 100644 index 1d4c5b06..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@Case_1.ingested.vcf.snap +++ /dev/null @@ -1,167 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41249263 -reference: G -alternative: A -ann_fields: - - allele: - Alt: - alternative: A - consequences: - - splice_region_variant - - synonymous_variant - putative_impact: MODERATE - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 8 - total: 23 - hgvs_t: c.591C>T - hgvs_p: p.C197= - tx_pos: - ord: 704 - total: 7088 - cds_pos: - ord: 591 - total: 5592 - protein_pos: - ord: 197 - total: 1864 - distance: 44 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - splice_region_variant - - synonymous_variant - putative_impact: MODERATE - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 7 - total: 22 - hgvs_t: c.450C>T - hgvs_p: p.C150= - tx_pos: - ord: 644 - total: 7028 - cds_pos: - ord: 450 - total: 5451 - protein_pos: - ord: 150 - total: 1817 - distance: 44 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - splice_region_variant - - synonymous_variant - putative_impact: MODERATE - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 8 - total: 22 - hgvs_t: c.591C>T - hgvs_p: p.C197= - tx_pos: - ord: 698 - total: 3696 - cds_pos: - ord: 591 - total: 2100 - protein_pos: - ord: 197 - total: 700 - distance: 44 - messages: ~ - - allele: - Alt: - alternative: A - consequences: - - splice_region_variant - - synonymous_variant - putative_impact: MODERATE - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 8 - total: 24 - hgvs_t: c.591C>T - hgvs_p: p.C197= - tx_pos: - ord: 704 - total: 7151 - cds_pos: - ord: 591 - total: 5655 - protein_pos: - ord: 197 - total: 1885 - distance: 44 - messages: ~ -call_info: - Case_1_father-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 52 - ad: 0 - phasing_id: ~ - Case_1_index-N1-DNA1-WGS1: - genotype: /0/0 - quality: 99 - dp: 46 - ad: 0 - phasing_id: ~ - Case_1_mother-N1-DNA1-WGS1: - genotype: /0/1 - quality: 99 - dp: 42 - ad: 21 - phasing_id: ~ -gnomad_exomes_an: 31398 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 56 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 251304 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 369 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap deleted file mode 100644 index 1d9ad79a..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap +++ /dev/null @@ -1,31 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: MT -pos: 750 -reference: A -alternative: G -ann_fields: [] -call_info: - CASE: - genotype: /1/1 - quality: 99 - dp: 35 - ad: 35 - phasing_id: ~ -gnomad_exomes_an: 0 -gnomad_exomes_hom: 0 -gnomad_exomes_het: 0 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap deleted file mode 100644 index 1e7c2ff7..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__sequence_variant_from_vcf@dragen.ingested.vcf.snap +++ /dev/null @@ -1,143 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&seqvar" ---- -chrom: "17" -pos: 41256074 -reference: CA -alternative: C -ann_fields: - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007294.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 22 - hgvs_t: c.441+64delT - hgvs_p: p.? - tx_pos: - ord: 554 - total: 7088 - cds_pos: - ord: 441 - total: 5592 - protein_pos: ~ - distance: 63 - messages: ~ - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007297.4 - feature_biotype: - - Coding - rank: - ord: 5 - total: 21 - hgvs_t: c.300+64delT - hgvs_p: p.? - tx_pos: - ord: 494 - total: 7028 - cds_pos: - ord: 300 - total: 5451 - protein_pos: ~ - distance: 63 - messages: ~ - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007299.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 21 - hgvs_t: c.441+64delT - hgvs_p: p.? - tx_pos: - ord: 548 - total: 3696 - cds_pos: - ord: 441 - total: 2100 - protein_pos: ~ - distance: 63 - messages: ~ - - allele: - Alt: - alternative: C - consequences: - - intron_variant - putative_impact: MODIFIER - gene_symbol: BRCA1 - gene_id: "HGNC:1100" - feature_type: - SoTerm: - term: Transcript - feature_id: NM_007300.4 - feature_biotype: - - Coding - rank: - ord: 6 - total: 23 - hgvs_t: c.441+64delT - hgvs_p: p.? - tx_pos: - ord: 554 - total: 7151 - cds_pos: - ord: 441 - total: 5655 - protein_pos: ~ - distance: 63 - messages: ~ -call_info: - CASE: - genotype: "|1|1" - quality: 99 - dp: 80 - ad: 80 - phasing_id: 41256074 -gnomad_exomes_an: 20150 -gnomad_exomes_hom: 2725 -gnomad_exomes_het: 5476 -gnomad_exomes_hemi: 0 -gnomad_genomes_an: 0 -gnomad_genomes_hom: 0 -gnomad_genomes_het: 0 -gnomad_genomes_hemi: 0 -helix_an: 0 -helix_hom: 0 -helix_het: 0 -inhouse_an: 0 -inhouse_hom: 0 -inhouse_het: 0 -inhouse_hemi: 0 \ No newline at end of file diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap deleted file mode 100644 index 30f153aa..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@empty.json.snap +++ /dev/null @@ -1,97 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&query" ---- -consequences: - - chromosome_number_variation - - exon_loss_variant - - frameshift_variant - - rare_amino_acid_variant - - splice_acceptor_variant - - splice_donor_variant - - start_lost - - stop_gained - - stop_lost - - transcript_ablation - - 3_prime_UTR_truncation - - 5_prime_UTR_truncation - - conservative_inframe_deletion - - conservative_inframe_insertion - - disruptive_inframe_deletion - - disruptive_inframe_insertion - - missense_variant - - regulatory_region_ablation - - splice_region_variant - - TFBS_ablation - - 5_prime_UTR_premature_start_codon_gain_variant - - initiator_codon_variant - - start_retained - - stop_retained_variant - - synonymous_variant - - 3_prime_UTR_variant - - 5_prime_UTR_variant - - coding_sequence_variant - - conserved_intergenic_variant - - conserved_intron_variant - - downstream_gene_variant - - exon_variant - - feature_elongation - - feature_truncation - - gene_variant - - intergenic_variant - - intron_variant - - mature_miRNA_variant - - miRNA - - NMD_transcript_variant - - non_coding_transcript_exon_variant - - non_coding_transcript_intron_variant - - regulatory_region_amplification - - regulatory_region_variant - - TF_binding_site_variant - - TFBS_amplification - - transcript_amplification - - transcript_variant - - upstream_gene_variant -quality: {} -genotype: {} -transcripts_coding: true -transcripts_noncoding: true -max_exon_dist: ~ -var_type_snv: true -var_type_indel: true -var_type_mnv: true -gene_allowlist: ~ -genomic_regions: ~ -require_in_clinvar: false -clinvar_include_benign: true -clinvar_include_pathogenic: true -clinvar_include_likely_benign: true -clinvar_include_likely_pathogenic: true -clinvar_include_uncertain_significance: true -clinvar_include_conflicting_classifications: true -gnomad_exomes_enabled: false -gnomad_exomes_carriers: ~ -gnomad_exomes_heterozygous: ~ -gnomad_exomes_homozygous: ~ -gnomad_exomes_hemizygous: ~ -gnomad_exomes_frequency: ~ -gnomad_genomes_enabled: false -gnomad_genomes_carriers: ~ -gnomad_genomes_heterozygous: ~ -gnomad_genomes_homozygous: ~ -gnomad_genomes_hemizygous: ~ -gnomad_genomes_frequency: ~ -gnomat_mt_enabled: false -gnomat_mt_carriers: ~ -gnomat_mt_heteroplasmic: ~ -gnomat_mt_homoplasmic: ~ -gnomat_mt_frequency: ~ -helixmtdb_enabled: false -helixmtdb_frequency: ~ -helixmtdb_heteroplasmic: ~ -helixmtdb_homoplasmic: ~ -inhouse_enabled: false -inhouse_carriers: ~ -inhouse_heterozygous: ~ -inhouse_homozygous: ~ -inhouse_hemizygous: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap deleted file mode 100644 index 4129328d..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@full.json.snap +++ /dev/null @@ -1,106 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&query" ---- -consequences: - - chromosome_number_variation - - exon_loss_variant - - frameshift_variant - - rare_amino_acid_variant - - splice_acceptor_variant - - splice_donor_variant - - start_lost - - stop_gained - - stop_lost - - transcript_ablation - - 3_prime_UTR_truncation - - 5_prime_UTR_truncation - - conservative_inframe_deletion - - conservative_inframe_insertion - - disruptive_inframe_deletion - - disruptive_inframe_insertion - - missense_variant - - regulatory_region_ablation - - splice_region_variant - - TFBS_ablation - - 5_prime_UTR_premature_start_codon_gain_variant - - initiator_codon_variant - - start_retained - - stop_retained_variant - - synonymous_variant - - 3_prime_UTR_variant - - 5_prime_UTR_variant - - coding_sequence_variant - - conserved_intergenic_variant - - conserved_intron_variant - - downstream_gene_variant - - exon_variant - - feature_elongation - - feature_truncation - - gene_variant - - intergenic_variant - - intron_variant - - mature_miRNA_variant - - miRNA - - NMD_transcript_variant - - non_coding_transcript_exon_variant - - non_coding_transcript_intron_variant - - regulatory_region_amplification - - regulatory_region_variant - - TF_binding_site_variant - - TFBS_amplification - - transcript_amplification - - transcript_variant - - upstream_gene_variant -quality: - sample: - filter_active: drop-variant - dp_het: 10 - dp_hom: 5 - gq: 10 - ab: 0.2 - ad: 3 - ad_max: ~ -genotype: - sample: het -transcripts_coding: true -transcripts_noncoding: true -max_exon_dist: 100 -var_type_snv: true -var_type_indel: true -var_type_mnv: true -gene_allowlist: ~ -genomic_regions: ~ -require_in_clinvar: false -clinvar_include_benign: false -clinvar_include_pathogenic: true -clinvar_include_likely_benign: false -clinvar_include_likely_pathogenic: true -clinvar_include_uncertain_significance: false -clinvar_include_conflicting_classifications: true -gnomad_exomes_enabled: true -gnomad_exomes_carriers: ~ -gnomad_exomes_heterozygous: 20 -gnomad_exomes_homozygous: 0 -gnomad_exomes_hemizygous: ~ -gnomad_exomes_frequency: 0.002 -gnomad_genomes_enabled: true -gnomad_genomes_carriers: ~ -gnomad_genomes_heterozygous: 4 -gnomad_genomes_homozygous: 0 -gnomad_genomes_hemizygous: ~ -gnomad_genomes_frequency: 0.002 -gnomat_mt_enabled: false -gnomat_mt_carriers: ~ -gnomat_mt_heteroplasmic: ~ -gnomat_mt_homoplasmic: ~ -gnomat_mt_frequency: ~ -helixmtdb_enabled: true -helixmtdb_frequency: 0.01 -helixmtdb_heteroplasmic: ~ -helixmtdb_homoplasmic: ~ -inhouse_enabled: true -inhouse_carriers: 20 -inhouse_heterozygous: ~ -inhouse_homozygous: ~ -inhouse_hemizygous: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap deleted file mode 100644 index b7b4762a..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__schema__test__smoke_test_load@with_extra.json.snap +++ /dev/null @@ -1,80 +0,0 @@ ---- -source: src/seqvars/query/schema.rs -expression: "&query" ---- -consequences: - - 3_prime_UTR_variant - - 5_prime_UTR_variant - - disruptive_inframe_deletion - - disruptive_inframe_insertion - - downstream_gene_variant - - exon_loss_variant - - feature_truncation - - frameshift_variant - - conservative_inframe_deletion - - conservative_inframe_insertion - - missense_variant - - non_coding_transcript_exon_variant - - non_coding_transcript_intron_variant - - splice_acceptor_variant - - splice_donor_variant - - splice_region_variant - - start_lost - - stop_gained - - stop_lost - - stop_retained_variant - - synonymous_variant - - transcript_ablation - - upstream_gene_variant -quality: - sample: - filter_active: drop-variant - dp_het: 10 - dp_hom: 5 - gq: 10 - ab: 0.2 - ad: 3 - ad_max: ~ -genotype: - sample: het -transcripts_coding: true -transcripts_noncoding: true -max_exon_dist: 100 -var_type_snv: true -var_type_indel: true -var_type_mnv: true -gene_allowlist: [] -genomic_regions: ~ -require_in_clinvar: false -clinvar_include_benign: false -clinvar_include_pathogenic: true -clinvar_include_likely_benign: false -clinvar_include_likely_pathogenic: true -clinvar_include_uncertain_significance: false -clinvar_include_conflicting_classifications: true -gnomad_exomes_enabled: true -gnomad_exomes_carriers: ~ -gnomad_exomes_heterozygous: 20 -gnomad_exomes_homozygous: 0 -gnomad_exomes_hemizygous: ~ -gnomad_exomes_frequency: 0.002 -gnomad_genomes_enabled: true -gnomad_genomes_carriers: ~ -gnomad_genomes_heterozygous: 4 -gnomad_genomes_homozygous: 0 -gnomad_genomes_hemizygous: ~ -gnomad_genomes_frequency: 0.002 -gnomat_mt_enabled: false -gnomat_mt_carriers: ~ -gnomat_mt_heteroplasmic: ~ -gnomat_mt_homoplasmic: ~ -gnomat_mt_frequency: ~ -helixmtdb_enabled: true -helixmtdb_frequency: 0.01 -helixmtdb_heteroplasmic: ~ -helixmtdb_homoplasmic: ~ -inhouse_enabled: true -inhouse_carriers: 20 -inhouse_heterozygous: ~ -inhouse_homozygous: ~ -inhouse_hemizygous: ~ diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@Case_1.ingested.vcf.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@Case_1.ingested.vcf.snap deleted file mode 100644 index 94e6a007..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@Case_1.ingested.vcf.snap +++ /dev/null @@ -1,64 +0,0 @@ ---- -source: src/seqvars/query/mod.rs -expression: "std::fs::read_to_string(args.path_output.as_str())?" ---- -sodar_uuid release chromosome chromosome_no reference alternative bin start end smallvariantqueryresultset_id payload -a2242722-6377-cc86-7d51-ad3f130af08a GRCh37 17 17 G A 899 41249263 41249263 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.591C>T","hgvs_p":"p.C197=","consequences":["splice_region_variant","synonymous_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"variant_related":{"precomputed_scores":{"PHRED":17.97,"spliceai":0.13,"spliceai_argmax":"SpliceAI-don-loss"},"db_ids":{"dbsnp_rs":"rs1799965"},"clinvar":{"vcv":"VCV000055642.108","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL"},"frequency":{"gnomad_mtdna":{"allele_freq":0.0014683411,"allele_count":251304,"het_carriers":369,"hom_carriers":0}}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":52,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":46,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":42,"ad":21,"gq":99,"gt":"0/1"}}}} -d13451de-7160-efa2-b230-76fd782de967 GRCh37 17 17 T C 899 41252332 41252332 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.442-435A>G","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":25,"ad":0,"gq":75,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":28,"ad":14,"gq":99,"gt":"0/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":40,"ad":21,"gq":99,"gt":"0/1"}}}} -ea9f11f8-dfb0-ca08-a881-0f9ea39c3a6a GRCh37 17 17 ATATAAT A 899 41252691 41252697 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.442-800_442-795delATTATA","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":9,"ad":0,"gq":27,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":14,"ad":10,"gq":99,"gt":"0/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":23,"ad":11,"gq":99,"gt":"0/1"}}}} -fb780859-e8d8-c7bc-37b7-8e2f9b8d68d9 GRCh37 17 17 ATAAT A 899 41252693 41252697 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.442-800_442-797delATTA","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":9,"ad":0,"gq":27,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":14,"ad":0,"gq":42,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":22,"ad":11,"gq":99,"gt":"0/1"}}}} -5e831ca1-477e-9b21-1e3a-ba7a1f21d500 GRCh37 17 17 A AT 899 41252697 41252697 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.442-801_442-800insA","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":45,"ad":45,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":33,"ad":17,"gq":99,"gt":"1/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":33,"ad":11,"gq":99,"gt":"1/0"}}}} -37ae6bd2-3910-a1ee-09ac-4e992e019381 GRCh37 17 17 A ATT 899 41252697 41252697 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.442-801_442-800insAA","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":45,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":33,"ad":16,"gq":99,"gt":"0/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":33,"ad":21,"gq":99,"gt":"0/1"}}}} -52f6d2dd-4397-0164-da3f-c7b517b61024 GRCh37 17 17 G T 899 41254393 41254393 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.441+1746C>A","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":37,"ad":8,"gq":66,"gt":"0/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":null,"ad":null,"gq":null,"gt":"./."},"Case_1_mother-N1-DNA1-WGS1":{"dp":35,"ad":3,"gq":47,"gt":"0/0"}}}} -fcad5acd-80e4-e585-9021-80d1eb16fd37 GRCh37 17 17 C CA 899 41273700 41273700 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.80+2333_80+2334insT","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":14,"ad":0,"gq":42,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":7,"ad":1,"gq":10,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":10,"ad":5,"gq":65,"gt":"0/1"}}}} -ca2f07a3-7c4b-3903-f3d3-0e29217ced84 GRCh37 MT 25 A G 585 73 73 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV003066071.1","germline_significance_description":"Affects","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3975,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2871,"ad":2871,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":3320,"ad":3320,"gq":99,"gt":"1/1"}}}} -e4565a76-7abc-de0c-1f55-83a9c9c77da5 GRCh37 MT 25 T C 585 119 119 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":5418,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":4039,"ad":4039,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":4113,"ad":4112,"gq":99,"gt":"1/1"}}}} -bff5c542-d0b9-85d8-32a8-af76ab056b7f GRCh37 MT 25 A G 585 189 189 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3069,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":1721,"ad":1721,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2204,"ad":2204,"gq":99,"gt":"1/1"}}}} -c34f9afa-1bc0-8781-253f-0a6a3f83f90e GRCh37 MT 25 T C 585 195 195 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2599,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":1592,"ad":1592,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1815,"ad":1815,"gq":99,"gt":"1/1"}}}} -50cbce17-63d8-db59-5238-4e4d1f429372 GRCh37 MT 25 T C 585 204 204 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2180,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":1424,"ad":1424,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1304,"ad":1304,"gq":99,"gt":"1/1"}}}} -d590cf23-b4ce-5ccb-c44f-249531de1a34 GRCh37 MT 25 G A 585 207 207 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2115,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":1408,"ad":1408,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1277,"ad":1277,"gq":99,"gt":"1/1"}}}} -f233ea84-cdaf-d666-d3ab-072afee793a7 GRCh37 MT 25 A G 585 263 263 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000441147.1","germline_significance_description":"not provided","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_NO_CLASSIFICATION_PROVIDED"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1288,"ad":1288,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":1204,"ad":1204,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1031,"ad":1031,"gq":99,"gt":"1/1"}}}} -e1468add-b464-8a6c-ec2e-103200bd73e3 GRCh37 MT 25 T TC 585 310 310 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1035,"ad":1035,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":1411,"ad":1411,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1091,"ad":1090,"gq":99,"gt":"1/1"}}}} -a9b766ee-b019-06ec-0f0e-106c69a98ade GRCh37 MT 25 T C 585 477 477 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2133,"ad":2129,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":2267,"ad":1,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1725,"ad":0,"gq":99,"gt":"0/0"}}}} -d35b46a5-b0c1-1da6-33a1-08cfe7868438 GRCh37 MT 25 G A 585 709 709 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2494,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2186,"ad":2186,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1814,"ad":1813,"gq":99,"gt":"1/1"}}}} -b61cab5a-4a7b-b893-cf85-7860f20ade63 GRCh37 MT 25 A G 585 750 750 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000441148.2","germline_significance_description":"association not found","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2757,"ad":2757,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":2392,"ad":2392,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1621,"ad":1621,"gq":99,"gt":"1/1"}}}} -672c7b99-2b64-1511-5470-d318fb93a26d GRCh37 MT 25 T C 585 879 879 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2853,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2784,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1898,"ad":547,"gq":99,"gt":"0/1"}}}} -b7551f09-c362-95fc-1348-41cb61597e9b GRCh37 MT 25 T C 585 1243 1243 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000042212.5","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_MULTIPLE_SUBMITTERS_NO_CONFLICTS"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2675,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2198,"ad":2198,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1655,"ad":1655,"gq":99,"gt":"1/1"}}}} -9539a2e2-4216-df73-5160-553fe24a3a07 GRCh37 MT 25 A G 585 1438 1438 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000042220.4","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3815,"ad":3815,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":3653,"ad":3653,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2900,"ad":2900,"gq":99,"gt":"1/1"}}}} -352238e0-397b-7927-5da4-b243ea387362 GRCh37 MT 25 T C 585 1824 1824 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2668,"ad":2668,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":2409,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1752,"ad":0,"gq":99,"gt":"0/0"}}}} -8bba3301-d637-cd7d-dc93-d9cfac05fcf7 GRCh37 MT 25 A G 585 2633 2633 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2535,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2409,"ad":761,"gq":99,"gt":"0/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2269,"ad":0,"gq":99,"gt":"0/0"}}}} -2657f47f-a888-eed9-a4e5-def11783b88b GRCh37 MT 25 A G 585 2706 2706 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3200,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2847,"ad":2847,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2020,"ad":2020,"gq":99,"gt":"1/1"}}}} -b57db1f3-5386-d3c4-b1d4-4bc98d6b94cf GRCh37 MT 25 G A 585 3010 3010 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000441149.1","germline_significance_description":"not provided","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_NO_CLASSIFICATION_PROVIDED"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2841,"ad":2841,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":2385,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1685,"ad":0,"gq":99,"gt":"0/0"}}}} -13719fff-02ec-2d93-7c5a-23d92355203c GRCh37 MT 25 A G 585 3505 3505 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000252456.4","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_MULTIPLE_SUBMITTERS_NO_CONFLICTS"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2594,"ad":14,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2363,"ad":2363,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1664,"ad":1664,"gq":99,"gt":"1/1"}}}} -e89e59fc-018a-1862-6cda-3cfb34f5cd64 GRCh37 MT 25 A G 585 4769 4769 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000441150.2","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2689,"ad":2689,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":2549,"ad":2549,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2108,"ad":2108,"gq":99,"gt":"1/1"}}}} -66d742e2-b8dd-a13a-1e95-26f4709be73e GRCh37 MT 25 G A 585 5046 5046 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000692536.1","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2878,"ad":2,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2466,"ad":2466,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1661,"ad":1661,"gq":99,"gt":"1/1"}}}} -83d85be2-22de-6ba2-543c-f84c369e5d7a GRCh37 MT 25 G A 585 5460 5460 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000692591.1","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2907,"ad":2,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2759,"ad":2759,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1970,"ad":1968,"gq":99,"gt":"1/1"}}}} -b5afecec-51df-8ef7-434a-baf3c1002a2b GRCh37 MT 25 C T 585 7028 7028 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV001676315.1","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2580,"ad":3,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2203,"ad":2201,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1946,"ad":1945,"gq":99,"gt":"1/1"}}}} -27f013be-f37b-1677-c0cc-9826cbbac588 GRCh37 MT 25 C T 585 7864 7864 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3589,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":3465,"ad":3465,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2746,"ad":2746,"gq":99,"gt":"1/1"}}}} -af4093a0-380b-601c-19b8-798dc8262554 GRCh37 MT 25 A G 585 8170 8170 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2052,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2257,"ad":2257,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1774,"ad":1774,"gq":99,"gt":"1/1"}}}} -2d6308c3-e277-a03e-e07e-c94b25a57f91 GRCh37 MT 25 G A 585 8251 8251 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2360,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2317,"ad":2317,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1625,"ad":1624,"gq":99,"gt":"1/1"}}}} -7c3c60db-0ce6-f1ae-c25b-03481716310f GRCh37 MT 25 A G 585 8860 8860 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000693004.1","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3278,"ad":3278,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":3088,"ad":3088,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2241,"ad":2241,"gq":99,"gt":"1/1"}}}} -7df9e3b7-fc9b-5d7a-e655-d2f443f9fc9c GRCh37 MT 25 G A 585 8994 8994 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2793,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2368,"ad":2368,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1918,"ad":1917,"gq":99,"gt":"1/1"}}}} -2eaa2ac8-fa96-c1de-4202-ad41ca485e91 GRCh37 MT 25 A G 585 9007 9007 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000693051.1","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2959,"ad":2959,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":2442,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1735,"ad":0,"gq":99,"gt":"0/0"}}}} -6c6a5834-04a6-5e7c-c01b-22bbb77f9272 GRCh37 MT 25 A G 585 9150 9150 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3163,"ad":3163,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":3538,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2767,"ad":0,"gq":99,"gt":"0/0"}}}} -7452d51c-dbde-0fee-b38a-98ccc5bb690a GRCh37 MT 25 G A 585 9380 9380 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3321,"ad":3320,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":3222,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2547,"ad":0,"gq":99,"gt":"0/0"}}}} -ca05f641-2547-d07c-73fb-51d4cd04b8c1 GRCh37 MT 25 A G 585 10097 10097 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2660,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2188,"ad":508,"gq":99,"gt":"0/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1851,"ad":0,"gq":99,"gt":"0/0"}}}} -8903a48e-34bf-f751-434e-737ae1fbb057 GRCh37 MT 25 T C 585 11204 11204 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000693352.1","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3173,"ad":5,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2922,"ad":2922,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2418,"ad":2418,"gq":99,"gt":"1/1"}}}} -0ecd3149-395c-0a62-3bb1-279bfd98fcb8 GRCh37 MT 25 C T 585 11674 11674 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2890,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2666,"ad":2666,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2180,"ad":2179,"gq":99,"gt":"1/1"}}}} -09f0c5e2-0258-3faf-c423-376104ca8293 GRCh37 MT 25 G A 585 11719 11719 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV003027424.1","germline_significance_description":"association","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3341,"ad":2,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":3052,"ad":3052,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2203,"ad":2203,"gq":99,"gt":"1/1"}}}} -722efc9b-7cd0-5b14-6f8d-542f04ee4d64 GRCh37 MT 25 A G 585 11947 11947 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2581,"ad":2,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2273,"ad":2273,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1804,"ad":1804,"gq":99,"gt":"1/1"}}}} -d38690b7-5e08-9eb6-f615-25f634b4d4ee GRCh37 MT 25 T C 585 12414 12414 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2855,"ad":3,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2546,"ad":2545,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1733,"ad":1733,"gq":99,"gt":"1/1"}}}} -f97ca841-63b8-7a16-0f28-d325e5b56fd8 GRCh37 MT 25 A G 585 12648 12648 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1813,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":1664,"ad":1662,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1781,"ad":1777,"gq":99,"gt":"1/1"}}}} -22687039-8cea-a692-d38d-9ea9a2de5cc8 GRCh37 MT 25 C T 585 12705 12705 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2369,"ad":10,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2138,"ad":2137,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1622,"ad":1621,"gq":99,"gt":"1/1"}}}} -5eeb0cd1-830d-8ec3-6744-372c94e69152 GRCh37 MT 25 G A 585 13406 13406 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000693552.1","germline_significance_description":"Uncertain significance","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2540,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2216,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1957,"ad":733,"gq":99,"gt":"0/1"}}}} -720edd7c-6ace-b22a-0a90-1f3f94d1dfca GRCh37 MT 25 A G 585 13611 13611 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3840,"ad":2,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":3717,"ad":3717,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2835,"ad":2834,"gq":99,"gt":"1/1"}}}} -a117eee4-5fb5-13e0-a8bf-03d115fd4851 GRCh37 MT 25 G C 585 13928 13928 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000693635.1","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":2947,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2700,"ad":2700,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1880,"ad":1880,"gq":99,"gt":"1/1"}}}} -f426c9bc-5baf-cc24-1cd4-b4f0c48dd349 GRCh37 MT 25 A G 585 14148 14148 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000235351.2","germline_significance_description":"Likely benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3021,"ad":2,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2820,"ad":2820,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1962,"ad":1962,"gq":99,"gt":"1/1"}}}} -5c5bade4-3c09-99ec-3045-cfea5c41a4bd GRCh37 MT 25 C T 585 14766 14766 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000140587.4","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_SINGLE_SUBMITTER"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3321,"ad":3,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":3113,"ad":3111,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2358,"ad":2355,"gq":99,"gt":"1/1"}}}} -fc0ad6a5-9b72-6d44-3f3f-eba9c6063b22 GRCh37 MT 25 A G 585 15326 15326 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000140592.4","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_REVIEWED_BY_EXPERT_PANEL"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3716,"ad":3716,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":3560,"ad":3560,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2690,"ad":2690,"gq":99,"gt":"1/1"}}}} -07946d87-b13b-ecd7-5bc0-cbaec6683927 GRCh37 MT 25 G C 585 15884 15884 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000252455.3","germline_significance_description":"Benign","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_CRITERIA_PROVIDED_MULTIPLE_SUBMITTERS_NO_CONFLICTS"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":3596,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":3167,"ad":3167,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":2734,"ad":2733,"gq":99,"gt":"1/1"}}}} -955a08b1-21df-a068-e505-f72fd12bc865 GRCh37 MT 25 C T 585 16184 16184 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1407,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":1969,"ad":1969,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1478,"ad":1478,"gq":99,"gt":"1/1"}}}} -0799c875-65b8-bb96-fb14-b76e309200e2 GRCh37 MT 25 C T 585 16223 16223 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV003027423.1","germline_significance_description":"association not found","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED"}},"call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1406,"ad":1,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":2018,"ad":2018,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1472,"ad":1472,"gq":99,"gt":"1/1"}}}} -98270734-fa7f-4c24-04fa-7f924e14ee8d GRCh37 MT 25 T C 585 16263 16263 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1478,"ad":1476,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":1994,"ad":0,"gq":99,"gt":"0/0"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1475,"ad":0,"gq":99,"gt":"0/0"}}}} -02f0fa52-18be-3379-375e-5fc324e05bc6 GRCh37 MT 25 C T 585 16292 16292 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1652,"ad":0,"gq":99,"gt":"0/0"},"Case_1_index-N1-DNA1-WGS1":{"dp":1914,"ad":1913,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1476,"ad":1476,"gq":99,"gt":"1/1"}}}} -bef71ebc-fa2d-758a-cd58-2732175691e4 GRCh37 MT 25 T C 585 16519 16519 . {"case_uuid":"00000000-0000-0000-0000-000000000000","call_related":{"call_info":{"Case_1_father-N1-DNA1-WGS1":{"dp":1759,"ad":1759,"gq":99,"gt":"1/1"},"Case_1_index-N1-DNA1-WGS1":{"dp":4094,"ad":4094,"gq":99,"gt":"1/1"},"Case_1_mother-N1-DNA1-WGS1":{"dp":1744,"ad":1744,"gq":99,"gt":"1/1"}}}} diff --git a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@dragen.ingested.vcf.snap b/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@dragen.ingested.vcf.snap deleted file mode 100644 index 88d846a5..00000000 --- a/src/seqvars/query/snapshots/varfish_server_worker__seqvars__query__test__smoke_test@dragen.ingested.vcf.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: src/seqvars/query/mod.rs -expression: "std::fs::read_to_string(args.path_output.as_str())?" ---- -sodar_uuid release chromosome chromosome_no reference alternative bin start end smallvariantqueryresultset_id payload -a2242722-6377-cc86-7d51-ad3f130af08a GRCh37 17 17 CA C 899 41256074 41256075 . {"case_uuid":"00000000-0000-0000-0000-000000000000","gene_related":{"identity":{"hgnc_id":"HGNC:1100","hgnc_symbol":"BRCA1"},"consequences":{"hgvs_t":"c.441+64delT","hgvs_p":"p.?","consequences":["intron_variant"]},"phenotype":{"is_acmg_sf":true,"is_disease_gene":true},"constraints":{"gnomad_mis_z":2.3217,"gnomad_oe_lof":0.76716,"gnomad_oe_lof_lower":0.666,"gnomad_oe_lof_upper":0.885,"gnomad_oe_mis":0.86592,"gnomad_oe_mis_lower":0.833,"gnomad_oe_mis_upper":0.899,"gnomad_pli":1.4282e-34,"gnomad_syn_z":2.6589}},"variant_related":{"precomputed_scores":{"PHRED":4.373,"spliceai":0.0,"spliceai_argmax":"SpliceAI-acc-gain"},"db_ids":{"dbsnp_rs":"rs72434991"}},"call_related":{"call_info":{"CASE":{"dp":80,"ad":80,"gq":99,"gt":"1|1"}}}} -d13451de-7160-efa2-b230-76fd782de967 GRCh37 MT 25 A G 585 750 750 . {"case_uuid":"00000000-0000-0000-0000-000000000000","variant_related":{"clinvar":{"vcv":"VCV000441148.2","germline_significance_description":"association not found","germline_review_status":"AGGREGATE_GERMLINE_REVIEW_STATUS_NO_ASSERTION_CRITERIA_PROVIDED"}},"call_related":{"call_info":{"CASE":{"dp":35,"ad":35,"gq":99,"gt":"1/1"}}}} diff --git a/src/seqvars/query/sorting.rs b/src/seqvars/query/sorting.rs index b1795c23..486907cb 100644 --- a/src/seqvars/query/sorting.rs +++ b/src/seqvars/query/sorting.rs @@ -1,16 +1,16 @@ -//! Code for sorting `SequenceVariant` records by HGNC ID or coordinate. +//! Code for sorting `VariantRecord` records by HGNC ID or coordinate. -use super::schema::SequenceVariant; +use super::schema::data::VariantRecord; -/// Helper wrapper that allows to sort `SequenceVariant` by HGNC ID. +/// Helper wrapper that allows to sort `VariantRecord` by HGNC ID. #[derive(Debug, serde::Serialize, serde::Deserialize)] pub struct ByHgncId { pub hgnc_id: String, - pub seqvar: SequenceVariant, + pub seqvar: VariantRecord, } -impl From for ByHgncId { - fn from(val: SequenceVariant) -> Self { +impl From for ByHgncId { + fn from(val: VariantRecord) -> Self { Self { hgnc_id: if !val.ann_fields.is_empty() { val.ann_fields[0].gene_id.clone() @@ -42,17 +42,17 @@ impl Ord for ByHgncId { } } -/// Helper wrapper that allows to sort `SequenceVariant` by coordinate. +/// Helper wrapper that allows to sort `VariantRecord` by coordinate. #[derive(Debug, serde::Serialize, serde::Deserialize)] pub struct ByCoordinate { pub coordinate: (String, i32), - pub seqvar: SequenceVariant, + pub seqvar: VariantRecord, } -impl From for ByCoordinate { - fn from(val: SequenceVariant) -> Self { +impl From for ByCoordinate { + fn from(val: VariantRecord) -> Self { Self { - coordinate: (val.chrom.clone(), val.pos), + coordinate: (val.vcf_variant.chrom.clone(), val.vcf_variant.pos), seqvar: val, } } diff --git a/src/strucvars/query/mod.rs b/src/strucvars/query/mod.rs index ec0a0a51..43613a1e 100644 --- a/src/strucvars/query/mod.rs +++ b/src/strucvars/query/mod.rs @@ -834,11 +834,8 @@ pub struct InMemoryDbs { pub clinvar_sv: ClinvarSv, } -/// Translate gene allow list to gene identifier sfrom -pub fn translate_gene_allowlist( - gene_allowlist: &Vec, - dbs: &InMemoryDbs, -) -> HashSet { +/// Translate gene allow list to gene identifiers from in-memory dbs. +pub fn translate_genes(genes: &Vec, dbs: &InMemoryDbs) -> HashSet { let mut result = HashSet::new(); let re_entrez = regex::Regex::new(r"^\d+").expect("invalid regex in source code"); @@ -855,7 +852,7 @@ pub fn translate_gene_allowlist( .map(|record| (record.symbol.clone(), record.hgnc_id.clone())), ); - for gene in gene_allowlist { + for gene in genes { let gene = gene.trim(); if re_entrez.is_match(gene) { if let Ok(gene_id) = numeric_gene_id(gene) { @@ -986,7 +983,7 @@ pub async fn run(args_common: &crate::common::Args, args: &Args) -> Result<(), a if gene_allowlist.is_empty() { None } else { - Some(translate_gene_allowlist(gene_allowlist, &dbs)) + Some(translate_genes(gene_allowlist, &dbs)) } } else { None From 0745d874d4191b36bef3b910314ed7a3fd765951 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Fri, 2 Aug 2024 15:15:47 +0200 Subject: [PATCH 18/23] wip --- src/seqvars/query/annonars.rs | 7 +++-- src/seqvars/query/interpreter/consequences.rs | 17 +++++++++-- src/seqvars/query/schema/data.rs | 28 ++++++++--------- src/seqvars/query/schema/query.rs | 30 ++++++++++++------- 4 files changed, 52 insertions(+), 30 deletions(-) diff --git a/src/seqvars/query/annonars.rs b/src/seqvars/query/annonars.rs index 2d430c23..bf38f283 100644 --- a/src/seqvars/query/annonars.rs +++ b/src/seqvars/query/annonars.rs @@ -175,14 +175,15 @@ impl Annotator { raw_value .map(|raw_value| { - annonars::pbs::genes::base::Record::decode(std::io::Cursor::new(raw_value)) - .map_err(|e| { + annonars::pbs::genes::base::Record::decode(std::io::Cursor::new(raw_value)).map_err( + |e| { anyhow::anyhow!( "problem decoding record from genes database for HGNC ID {}: {}", hgnc_id, e ) - }) + }, + ) }) .transpose() } diff --git a/src/seqvars/query/interpreter/consequences.rs b/src/seqvars/query/interpreter/consequences.rs index e939f808..83c60817 100644 --- a/src/seqvars/query/interpreter/consequences.rs +++ b/src/seqvars/query/interpreter/consequences.rs @@ -14,9 +14,17 @@ pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> Result = indexmap::IndexSet::from_iter(query.consequence.consequences.iter().cloned().map(|c| c.into())); + let query_csq: indexmap::IndexSet = indexmap::IndexSet::from_iter( + query + .consequence + .consequences + .iter() + .cloned() + .map(|c| c.into()), + ); for ann_field in &seqvar.ann_fields { - let seqvar_csq: indexmap::IndexSet = indexmap::IndexSet::from_iter(ann_field.consequences.iter().cloned()); + let seqvar_csq: indexmap::IndexSet = + indexmap::IndexSet::from_iter(ann_field.consequences.iter().cloned()); let intersection_csq = query_csq.intersection(&seqvar_csq); if intersection_csq.count() > 0 { return Ok(true); @@ -52,7 +60,10 @@ mod test { let query = CaseQuery { consequence: QuerySettingsConsequence { consequences: Consequence::iter() - .filter(|c| (>::into(*c) == csq) == c_equals_csq) + .filter(|c| { + (>::into(*c) == csq) + == c_equals_csq + }) .collect(), ..Default::default() }, diff --git a/src/seqvars/query/schema/data.rs b/src/seqvars/query/schema/data.rs index 2b40e1fa..2a0a1f2f 100644 --- a/src/seqvars/query/schema/data.rs +++ b/src/seqvars/query/schema/data.rs @@ -312,13 +312,13 @@ pub struct VcfVariant { pub alt_allele: String, } -impl Into for VcfVariant { - fn into(self) -> annonars::common::spdi::Var { +impl From for annonars::common::spdi::Var { + fn from(val: VcfVariant) -> Self { annonars::common::spdi::Var::new( - annonars::common::cli::canonicalize(&self.chrom), - self.pos, - self.ref_allele, - self.alt_allele, + annonars::common::cli::canonicalize(&val.chrom), + val.pos, + val.ref_allele, + val.alt_allele, ) } } @@ -384,7 +384,7 @@ pub(crate) mod call_infos { #[error("Empty FORMAT/AD")] EmptyFormatAd, #[error("Problem parsing genotype: {0}")] - GenotypeParseError(#[from] GenotypeToStringError), + GenotypeParsing(#[from] GenotypeToStringError), } } @@ -471,7 +471,7 @@ pub(crate) mod ann_fields { #[derive(thiserror::Error, Debug, Clone)] pub enum Error { #[error("Problem parsing INFO/ANN: {0}")] - ParseError(String), + Parsing(String), #[error("Invalid type of INFO/ANN")] InvalidTypeInfoAnn, } @@ -495,10 +495,10 @@ impl TryFromVcf for AnnFields { .flatten() .map(|s| s.parse::()) .collect::, _>>() - .map_err(|e| Self::Error::ParseError(format!("{}", e)))?, + .map_err(|e| Self::Error::Parsing(format!("{}", e)))?, }) } else { - return Err(ann_fields::Error::InvalidTypeInfoAnn); + Err(ann_fields::Error::InvalidTypeInfoAnn) } } else { Ok(Default::default()) @@ -525,13 +525,13 @@ pub(crate) mod variant_record { #[derive(thiserror::Error, Debug, Clone)] pub enum Error { #[error("Problem with variant description: {0:?}")] - VcfVariantError(#[from] super::vcf_variant::Error), + VcfVariant(#[from] super::vcf_variant::Error), #[error("Problem with call information: {0:?}")] - CallInfosError(#[from] super::call_infos::Error), + CallInfos(#[from] super::call_infos::Error), #[error("Problem with annotation fields: {0:?}")] - AnnFieldsError(#[from] super::ann_fields::Error), + AnnFields(#[from] super::ann_fields::Error), #[error("Problem with population frequencies: {0:?}")] - PopulationFrequenciesError(#[from] super::population_frequencies::Error), + PopulationFrequencies(#[from] super::population_frequencies::Error), } } diff --git a/src/seqvars/query/schema/query.rs b/src/seqvars/query/schema/query.rs index 065ddce3..609831cb 100644 --- a/src/seqvars/query/schema/query.rs +++ b/src/seqvars/query/schema/query.rs @@ -330,7 +330,7 @@ impl TryFrom for QuerySettingsGenotype { let mut sample_genotypes = indexmap::IndexMap::new(); for pb_sample_genotype in value.sample_genotypes { let sample_genotype = SampleGenotypeChoice::try_from(pb_sample_genotype) - .map_err(|e| Self::Error::InvalidSampleGenotypeChoice(e))?; + .map_err(Self::Error::InvalidSampleGenotypeChoice)?; if sample_genotypes.contains_key(&sample_genotype.sample) { return Err(Self::Error::DuplicateSample(sample_genotype.sample)); } @@ -658,7 +658,17 @@ impl TryFrom for TranscriptType { /// Consequence types. #[derive( - Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, serde::Serialize, serde::Deserialize, strum::EnumIter + Debug, + Clone, + Copy, + PartialEq, + Eq, + PartialOrd, + Ord, + Hash, + serde::Serialize, + serde::Deserialize, + strum::EnumIter, )] pub enum Consequence { /* @@ -819,11 +829,11 @@ impl TryFrom for Consequence { } } -impl Into for Consequence { - fn into(self) -> mehari::annotate::seqvars::ann::Consequence { +impl From for mehari::annotate::seqvars::ann::Consequence { + fn from(val: Consequence) -> Self { use mehari::annotate::seqvars::ann; - match self { + match val { Consequence::TranscriptAblation => ann::Consequence::TranscriptAblation, Consequence::ExonLossVariant => ann::Consequence::ExonLossVariant, Consequence::SpliceAcceptorVariant => ann::Consequence::SpliceAcceptorVariant, @@ -1165,18 +1175,18 @@ impl TryFrom for CaseQuery { let genotype = QuerySettingsGenotype::try_from(genotype.ok_or(Self::Error::GenotypeMissing)?) - .map_err(|e| Self::Error::GenotypeConversion(e))?; + .map_err(Self::Error::GenotypeConversion)?; let quality = QuerySettingsQuality::try_from(quality.ok_or(Self::Error::QualityMissing)?) - .map_err(|e| Self::Error::QualityConversion(e))?; + .map_err(Self::Error::QualityConversion)?; let frequency = QuerySettingsFrequency::try_from(frequency.ok_or(Self::Error::FrequencyMissing)?) - .map_err(|e| Self::Error::FrequencyConversion(e))?; + .map_err(Self::Error::FrequencyConversion)?; let consequence = QuerySettingsConsequence::try_from(consequence.ok_or(Self::Error::ConsequenceMissing)?) - .map_err(|e| Self::Error::ConsequenceConversion(e))?; + .map_err(Self::Error::ConsequenceConversion)?; let locus = QuerySettingsLocus::from(locus.ok_or(Self::Error::LocusMissing)?); let clinvar = QuerySettingsClinVar::try_from(clinvar.ok_or(Self::Error::ClinVarMissing)?) - .map_err(|e| Self::Error::ClinVarConversion(e))?; + .map_err(Self::Error::ClinVarConversion)?; Ok(Self { genotype, From 55f95e9a6dc61196100da482758dbd9f2ebeb0b9 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Fri, 2 Aug 2024 15:19:09 +0200 Subject: [PATCH 19/23] wip --- src/seqvars/query/interpreter/genotype.rs | 2 +- src/seqvars/query/mod.rs | 2 +- src/seqvars/query/schema/data.rs | 2 +- src/seqvars/query/schema/query.rs | 50 ++++++++++------------- src/strucvars/txt_to_bin/masked.rs | 1 + src/strucvars/txt_to_bin/vardbs/input.rs | 6 +++ 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/seqvars/query/interpreter/genotype.rs b/src/seqvars/query/interpreter/genotype.rs index 0da62c02..dc1a6213 100644 --- a/src/seqvars/query/interpreter/genotype.rs +++ b/src/seqvars/query/interpreter/genotype.rs @@ -41,7 +41,7 @@ fn passes_recessive_modes( e ) })?; - let parent_names = query_genotype.recessive_parents().map_err(|e| { + let _parent_names = query_genotype.recessive_parents().map_err(|e| { anyhow::anyhow!( "invalid recessive parents in genotype filter {:?}: {}", &query_genotype, diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index ff07d96e..e20c31c8 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -98,7 +98,7 @@ fn passes_for_gene(query: &CaseQuery, seqvars: &Vec) -> Result { - index = sample_name.clone(); + index.clone_from(sample_name); } GenotypeChoice::RecessiveParent => { parents.push(sample_name.clone()); diff --git a/src/seqvars/query/schema/data.rs b/src/seqvars/query/schema/data.rs index 2a0a1f2f..7a3aa9f5 100644 --- a/src/seqvars/query/schema/data.rs +++ b/src/seqvars/query/schema/data.rs @@ -340,7 +340,7 @@ impl TryFromVcf for VcfVariant { fn try_from_vcf( record: &vcf::variant::RecordBuf, - header: &vcf::Header, + _header: &vcf::Header, ) -> Result { let chrom = record.reference_sequence_name().to_string(); let pos = usize::from( diff --git a/src/seqvars/query/schema/query.rs b/src/seqvars/query/schema/query.rs index 609831cb..cec2a4f6 100644 --- a/src/seqvars/query/schema/query.rs +++ b/src/seqvars/query/schema/query.rs @@ -544,15 +544,15 @@ pub(crate) mod query_settings_frequency { #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] pub enum Error { #[error("gnomad_exomes missing in protobuf")] - GnomadExomesMissing, + GnomadExomes, #[error("gnomad_genomes missing in protobuf")] - GnomadGenomesMissing, + GnomadGenomes, #[error("gnomad_mt missing in protobuf")] - GnomadMtMissing, + GnomadMt, #[error("helixmtdb missing in protobuf")] - HelixMtDbMissing, + HelixMtDb, #[error("inhouse missing in protobuf")] - InhouseMissing, + Inhouse, } } @@ -562,24 +562,18 @@ impl TryFrom for QuerySettingsFrequency { fn try_from(value: pb_query::QuerySettingsFrequency) -> Result { Ok(Self { gnomad_exomes: GnomadNuclearFrequencySettings::from( - value - .gnomad_exomes - .ok_or(Self::Error::GnomadExomesMissing)?, + value.gnomad_exomes.ok_or(Self::Error::GnomadExomes)?, ), gnomad_genomes: GnomadNuclearFrequencySettings::from( - value - .gnomad_genomes - .ok_or(Self::Error::GnomadGenomesMissing)?, + value.gnomad_genomes.ok_or(Self::Error::GnomadGenomes)?, ), gnomad_mt: GnomadMitochondrialFrequencySettings::from( - value.gnomad_mt.ok_or(Self::Error::GnomadMtMissing)?, + value.gnomad_mt.ok_or(Self::Error::GnomadMt)?, ), helixmtdb: HelixMtDbFrequencySettings::from( - value.helixmtdb.ok_or(Self::Error::HelixMtDbMissing)?, - ), - inhouse: InhouseFrequencySettings::from( - value.inhouse.ok_or(Self::Error::InhouseMissing)?, + value.helixmtdb.ok_or(Self::Error::HelixMtDb)?, ), + inhouse: InhouseFrequencySettings::from(value.inhouse.ok_or(Self::Error::Inhouse)?), }) } } @@ -901,17 +895,17 @@ pub(crate) mod query_settings_consequence { #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] pub enum Error { #[error("Cannot convert i32 into protobuf VariantType: {0}")] - UnknownVariantTypeInt(i32), + VariantTypeInt(i32), #[error("Cannot convert protobuf VariantType: {0:?}")] - UnknownVariantTypeValue(super::pb_query::VariantType), + VariantTypeValue(super::pb_query::VariantType), #[error("Cannot convert i32 into protobuf TranscriptType: {0}")] - UnknownTranscriptTypeInt(i32), + TranscriptTypeInt(i32), #[error("Cannot convert protobuf TranscriptType: {0:?}")] - UnknownTranscriptTypeValue(super::pb_query::TranscriptType), + TranscriptTypeValue(super::pb_query::TranscriptType), #[error("Cannot convert i32 into protobuf Consequence: {0}")] - UnknownConsequenceInt(i32), + ConsequenceInt(i32), #[error("Cannot convert protobuf Consequence: {0:?}")] - UnknownConsequenceValue(super::pb_query::Consequence), + ConsequenceValue(super::pb_query::Consequence), } } @@ -924,9 +918,9 @@ impl TryFrom for QuerySettingsConsequence { .into_iter() .map(|v| { let v = pb_query::VariantType::try_from(v) - .map_err(|_| query_settings_consequence::Error::UnknownVariantTypeInt(v))?; + .map_err(|_| query_settings_consequence::Error::VariantTypeInt(v))?; VariantType::try_from(v) - .map_err(|_| query_settings_consequence::Error::UnknownVariantTypeValue(v)) + .map_err(|_| query_settings_consequence::Error::VariantTypeValue(v)) }) .collect::, _>>()?; let transcript_types = value @@ -934,9 +928,9 @@ impl TryFrom for QuerySettingsConsequence { .into_iter() .map(|v| { let v = pb_query::TranscriptType::try_from(v) - .map_err(|_| query_settings_consequence::Error::UnknownTranscriptTypeInt(v))?; + .map_err(|_| query_settings_consequence::Error::TranscriptTypeInt(v))?; TranscriptType::try_from(v) - .map_err(|_| query_settings_consequence::Error::UnknownTranscriptTypeValue(v)) + .map_err(|_| query_settings_consequence::Error::TranscriptTypeValue(v)) }) .collect::, _>>()?; let consequences = value @@ -944,9 +938,9 @@ impl TryFrom for QuerySettingsConsequence { .into_iter() .map(|v| { let v = pb_query::Consequence::try_from(v) - .map_err(|_| query_settings_consequence::Error::UnknownConsequenceInt(v))?; + .map_err(|_| query_settings_consequence::Error::ConsequenceInt(v))?; Consequence::try_from(v) - .map_err(|_| query_settings_consequence::Error::UnknownConsequenceValue(v)) + .map_err(|_| query_settings_consequence::Error::ConsequenceValue(v)) }) .collect::, _>>()?; Ok(Self { diff --git a/src/strucvars/txt_to_bin/masked.rs b/src/strucvars/txt_to_bin/masked.rs index 907aff88..83dae920 100644 --- a/src/strucvars/txt_to_bin/masked.rs +++ b/src/strucvars/txt_to_bin/masked.rs @@ -25,6 +25,7 @@ mod input { /// 1-based end position pub end: i32, /// Masked region label + #[allow(dead_code)] pub label: String, } } diff --git a/src/strucvars/txt_to_bin/vardbs/input.rs b/src/strucvars/txt_to_bin/vardbs/input.rs index 4971ae28..192c7334 100644 --- a/src/strucvars/txt_to_bin/vardbs/input.rs +++ b/src/strucvars/txt_to_bin/vardbs/input.rs @@ -17,6 +17,7 @@ pub struct DbVarRecord { /// end position, 0-based pub end: i32, /// number of overall carriers + #[allow(dead_code)] pub num_carriers: u32, /// type of the SV pub sv_type: String, @@ -114,22 +115,26 @@ pub struct GnomadSv4Record { /// The structural vairant type pub svtype: String, /// Number of male homozygous reference allele carriers. + #[allow(dead_code)] pub male_n_homref: u32, /// Number of male heterozygous alternate allele carriers. pub male_n_het: u32, /// Number of male homozygous alternate allele carriers. pub male_n_homalt: u32, /// Number of male hemizygous alternate allele carriers. + #[allow(dead_code)] pub male_n_hemiref: u32, /// Number of male hemizygous reference allele carriers. pub male_n_hemialt: u32, /// Number of female homozygous reference allele carriers. + #[allow(dead_code)] pub female_n_homref: u32, /// Number of female heterozygous alternate allele carriers. pub female_n_het: u32, /// Number of female homozygous alternate allele carriers. pub female_n_homalt: u32, /// Number of samples at this site (CNV only). + #[allow(dead_code)] pub cnv_n_total: u32, /// Number of samples with a CNV at this site (CNV only). pub cnv_n_var: u32, @@ -147,6 +152,7 @@ pub struct GnomadCnv4Record { /// The structural vairant type pub svtype: String, /// Number of samples at this site (passing QC). + #[allow(dead_code)] pub n_total: u32, /// Number of samples with a CNV at this site (passing QC). pub n_var: u32, From 47f81f4a3e4d26b73a3749d2f3d1d925bc8149d7 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Mon, 5 Aug 2024 10:42:01 +0200 Subject: [PATCH 20/23] wip --- protos/varfish/v1/seqvars/query.proto | 8 +- src/seqvars/ingest/header.rs | 2 +- ...d_output_header_37@clair3_glnexus.vcf.snap | 6 +- ...@example_dragen.07.021.624.3.10.4.vcf.snap | 7 +- ...@example_dragen.07.021.624.3.10.9.vcf.snap | 7 +- ...t_header_37@example_gatk_hc.3.7-0.vcf.snap | 7 +- ...header_37@example_gatk_hc.4.4.0.0.vcf.snap | 7 +- ...d_output_header_38@clair3_glnexus.vcf.snap | 6 +- ...@example_dragen.07.021.624.3.10.4.vcf.snap | 7 +- ...@example_dragen.07.021.624.3.10.9.vcf.snap | 7 +- ...t_header_38@example_gatk_hc.3.7-0.vcf.snap | 7 +- ...header_38@example_gatk_hc.4.4.0.0.vcf.snap | 7 +- ...test__result_snapshot_test@Case_1_vcf.snap | 26 +- ...sult_snapshot_test@NA12878_dragen_vcf.snap | 164 +-- ...sult_snapshot_test@clair3_glnexus_vcf.snap | 6 +- ...@example_dragen_07_021_624_3_10_4_vcf.snap | 8 +- ...@example_dragen_07_021_624_3_10_9_vcf.snap | 8 +- ...apshot_test@example_gatk_hc_3_7-0_vcf.snap | 8 +- ...shot_test@example_gatk_hc_4_4_0_0_vcf.snap | 8 +- ...ingest__test__result_snapshot_test_gz.snap | 1113 +++++++-------- ..._snapshot_test_with_id_map@Case_1_vcf.snap | 26 +- ...t_test_with_id_map@NA12878_dragen_vcf.snap | 164 +-- src/seqvars/prefilter/mod.rs | 1 - ...s__prefilter__test__single_output_arg.snap | 4 +- ...__prefilter__test__single_output_file.snap | 4 +- ...rs__prefilter__test__two_output_arg-2.snap | 2 +- ...vars__prefilter__test__two_output_arg.snap | 4 +- src/seqvars/query/interpreter/frequency.rs | 86 +- src/seqvars/query/interpreter/genotype.rs | 1227 +++++++++++++---- src/seqvars/query/interpreter/mod.rs | 18 +- src/seqvars/query/interpreter/quality.rs | 62 +- src/seqvars/query/mod.rs | 6 +- src/seqvars/query/output/variant_related.rs | 8 +- src/seqvars/query/schema/data.rs | 14 +- src/seqvars/query/schema/query.rs | 195 ++- ...riant_from_vcf@Case_1.ingested.vcf-10.snap | 203 +++ ...riant_from_vcf@Case_1.ingested.vcf-11.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-12.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-13.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-14.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-15.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-16.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-17.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-18.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-19.snap | 56 + ...ariant_from_vcf@Case_1.ingested.vcf-2.snap | 202 +++ ...riant_from_vcf@Case_1.ingested.vcf-20.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-21.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-22.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-23.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-24.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-25.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-26.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-27.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-28.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-29.snap | 56 + ...ariant_from_vcf@Case_1.ingested.vcf-3.snap | 202 +++ ...riant_from_vcf@Case_1.ingested.vcf-30.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-31.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-32.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-33.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-34.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-35.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-36.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-37.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-38.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-39.snap | 56 + ...ariant_from_vcf@Case_1.ingested.vcf-4.snap | 202 +++ ...riant_from_vcf@Case_1.ingested.vcf-40.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-41.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-42.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-43.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-44.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-45.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-46.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-47.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-48.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-49.snap | 56 + ...ariant_from_vcf@Case_1.ingested.vcf-5.snap | 202 +++ ...riant_from_vcf@Case_1.ingested.vcf-50.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-51.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-52.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-53.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-54.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-55.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-56.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-57.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-58.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-59.snap | 56 + ...ariant_from_vcf@Case_1.ingested.vcf-6.snap | 202 +++ ...riant_from_vcf@Case_1.ingested.vcf-60.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-61.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-62.snap | 56 + ...riant_from_vcf@Case_1.ingested.vcf-63.snap | 56 + ...ariant_from_vcf@Case_1.ingested.vcf-7.snap | 202 +++ ...ariant_from_vcf@Case_1.ingested.vcf-8.snap | 202 +++ ...ariant_from_vcf@Case_1.ingested.vcf-9.snap | 202 +++ ..._variant_from_vcf@Case_1.ingested.vcf.snap | 217 +++ ...ariant_from_vcf@dragen.ingested.vcf-2.snap | 42 + ..._variant_from_vcf@dragen.ingested.vcf.snap | 188 +++ tests/seqvars/aggregate/ingest.vcf | 4 +- tests/seqvars/prefilter/ingest.vcf | 4 +- tests/seqvars/query/Case_1.ingested.vcf | 132 +- tests/seqvars/query/dragen.ingested.vcf | 12 +- 104 files changed, 7338 insertions(+), 1288 deletions(-) create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf.snap diff --git a/protos/varfish/v1/seqvars/query.proto b/protos/varfish/v1/seqvars/query.proto index ae7418fc..92ea929e 100644 --- a/protos/varfish/v1/seqvars/query.proto +++ b/protos/varfish/v1/seqvars/query.proto @@ -36,8 +36,10 @@ enum GenotypeChoice { GENOTYPE_CHOICE_VARIANT = 7; // Recessive index. GENOTYPE_CHOICE_RECESSIVE_INDEX = 8; - // Recessive parent. - GENOTYPE_CHOICE_RECESSIVE_PARENT = 9; + // Recessive father. + GENOTYPE_CHOICE_RECESSIVE_FATHER = 9; + // Recessive mother. + GENOTYPE_CHOICE_RECESSIVE_MOTHER = 10; } // Genotype choice for one sample. @@ -145,7 +147,7 @@ message QuerySettingsFrequency { // gnomAD-genomes filter GnomadNuclearFreqyencySettings gnomad_genomes = 2; // gnomAD-MT filter - GnomadMitochondrialFrequencySettings gnomad_mt = 3; + GnomadMitochondrialFrequencySettings gnomad_mtdna = 3; // HelixMtDb filter HelixMtDbFrequencySettings helixmtdb = 4; // In-house filter diff --git a/src/seqvars/ingest/header.rs b/src/seqvars/ingest/header.rs index b6d828ec..ccd7b1a9 100644 --- a/src/seqvars/ingest/header.rs +++ b/src/seqvars/ingest/header.rs @@ -355,7 +355,7 @@ pub fn build_output_header( "Functional annotations: 'Allele | Annotation | Annotation_Impact | \ Gene_Name | Gene_ID | Feature_Type | Feature_ID | Transcript_BioType | Rank | \ HGVS.c | HGVS.p | cDNA.pos / cDNA.length | CDS.pos / CDS.length | \ - AA.pos / AA.length | Distance | ERRORS / WARNINGS / INFO'", + AA.pos / AA.length | Distance | Strand | ERRORS / WARNINGS / INFO'", ), ) .add_format(key::READ_DEPTHS, Map::::from(key::READ_DEPTHS)) diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@clair3_glnexus.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@clair3_glnexus.vcf.snap index 024d7163..c4ac39bc 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@clair3_glnexus.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@clair3_glnexus.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.4.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.4.vcf.snap index e361e714..c4df7649 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.4.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.4.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,4 +57,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA12878 - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.9.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.9.vcf.snap index 86221744..d93f27e6 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.9.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_dragen.07.021.624.3.10.9.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,4 +57,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CASE - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.3.7-0.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.3.7-0.vcf.snap index 96740364..dcb2e779 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.3.7-0.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.3.7-0.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -57,4 +61,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.4.4.0.0.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.4.4.0.0.vcf.snap index 30195df3..33c03221 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.4.4.0.0.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_37@example_gatk_hc.4.4.0.0.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,4 +57,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CASE - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@clair3_glnexus.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@clair3_glnexus.vcf.snap index bb020661..cdb1e50b 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@clair3_glnexus.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@clair3_glnexus.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.4.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.4.vcf.snap index 41c85afe..3b836aa9 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.4.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.4.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,4 +57,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA12878 - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.9.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.9.vcf.snap index 83c2f979..f79bee55 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.9.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_dragen.07.021.624.3.10.9.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,4 +57,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CASE - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.3.7-0.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.3.7-0.vcf.snap index 77d94a21..6387a682 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.3.7-0.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.3.7-0.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -57,4 +61,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.4.4.0.0.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.4.4.0.0.vcf.snap index a4528b87..c5d82c93 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.4.4.0.0.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_38@example_gatk_hc.4.4.0.0.vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(out_path_str)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,4 +57,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CASE - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@Case_1_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@Case_1_vcf.snap index bf45a940..5c5b34f1 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@Case_1_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@Case_1_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -57,16 +61,16 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41249263 . G A . . gnomad_exomes_an=31398;gnomad_exomes_hom=0;gnomad_exomes_het=56;gnomad_genomes_an=251304;gnomad_genomes_hom=0;gnomad_genomes_het=369;clinvar_vcv=VCV000055642.108;clinvar_germline_classification=Benign;ANN=A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/23|c.591C>T|p.C197=|704/7088|591/5592|197/1864|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/22|c.450C>T|p.C150=|644/7028|450/5451|150/1817|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/22|c.591C>T|p.C197=|610/3682|591/2280|197/760|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/22|c.591C>T|p.C197=|698/3696|591/2100|197/700|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/24|c.591C>T|p.C197=|704/7151|591/5655|197/1885|0| GT:AD:DP:GQ 0/0:52,0:52:99 0/0:46,0:46:99 0/1:21,21:42:99 -17 41252332 . T C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-435A>G|p.?|555/7088|442/5592||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-435A>G|p.?|495/7028|301/5451||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-435A>G|p.?|461/3682|442/2280||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-435A>G|p.?|549/3696|442/2100||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-435A>G|p.?|555/7151|442/5655||435| GT:AD:DP:GQ 0/0:25,0:25:75 0/1:14,14:28:99 0/1:19,21:40:99 -17 41252691 . ATATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-795delATTATA|p.?|555/7088|442/5592||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-795delATTATA|p.?|495/7028|301/5451||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-795delATTATA|p.?|461/3682|442/2280||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-795delATTATA|p.?|549/3696|442/2100||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-795delATTATA|p.?|555/7151|442/5655||795| GT:AD:DP:GQ 0/0:9,0:9:27 0/1:4,10:14:99 0/1:12,11:23:99 -17 41252693 . ATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-797delATTA|p.?|555/7088|442/5592||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-797delATTA|p.?|495/7028|301/5451||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-797delATTA|p.?|461/3682|442/2280||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-797delATTA|p.?|549/3696|442/2100||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-797delATTA|p.?|555/7151|442/5655||797| GT:AD:DP:GQ 0/0:9,0:9:27 0/0:14,0:14:42 0/1:11,11:22:99 -17 41252695 . AAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-799delAT|p.?|555/7088|442/5592||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-799delAT|p.?|495/7028|301/5451||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-799delAT|p.?|461/3682|442/2280||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-799delAT|p.?|549/3696|442/2100||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-799delAT|p.?|555/7151|442/5655||799| GT:AD:DP:GQ 0/1:3,6:9:79 0/0:14,0:14:42 0/0:22,0:22:66 -17 41252696 . A T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-799T>A|p.?|555/7088|442/5592||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-799T>A|p.?|495/7028|301/5451||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-799T>A|p.?|461/3682|442/2280||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-799T>A|p.?|549/3696|442/2100||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-799T>A|p.?|555/7151|442/5655||799| GT:AD:DP:GQ 0/1:6,3:9:78 0/1:10,4:14:98 0/0:22,0:22:67 -17 41252697 . A AT . . ANN=AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insA|p.?|555/7088|442/5592||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insA|p.?|495/7028|301/5451||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insA|p.?|461/3682|442/2280||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insA|p.?|549/3696|442/2100||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insA|p.?|555/7151|442/5655||801| GT:AD:DP:GQ 1/1:0,45:45:99 1/0:16,17:33:99 1/0:22,11:33:99 -17 41252697 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insAA|p.?|555/7088|442/5592||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insAA|p.?|495/7028|301/5451||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insAA|p.?|461/3682|442/2280||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insAA|p.?|549/3696|442/2100||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insAA|p.?|555/7151|442/5655||801| GT:AD:DP:GQ 0/0:45,0:45:99 0/1:17,16:33:99 0/1:12,21:33:99 -17 41254393 . G T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1746C>A|p.?|554/7088|441/5592||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1746C>A|p.?|494/7028|300/5451||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1746C>A|p.?|460/3682|441/2280||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1746C>A|p.?|548/3696|441/2100||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1746C>A|p.?|554/7151|441/5655||-1746| GT:AD:DP:GQ 0/1:29,8:37:66 ./.:.:.:. 0/0:32,3:35:47 -17 41273700 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2333_80+2334insT|p.?|193/7088|80/5592||-2334|,CA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2333_-8+2334insT|p.?|187/7028|-8/5451||-2334|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2333_80+2334insT|p.?|99/3682|80/2280||-2334|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2333_80+2334insT|p.?|187/3696|80/2100||-2334|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2333_80+2334insT|p.?|193/7151|80/5655||-2334| GT:AD:DP:GQ 0/0:14,0:14:42 0/0:6,1:7:10 0/1:5,5:10:65 +17 41249263 . G A . . gnomad_exomes_an=31398;gnomad_exomes_hom=0;gnomad_exomes_het=56;gnomad_genomes_an=251304;gnomad_genomes_hom=0;gnomad_genomes_het=369;clinvar_vcv=VCV000055642.108;clinvar_germline_classification=Benign;ANN=A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/23|c.591C>T|p.Cys197=|704/7088|591/5592|197/1864|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/22|c.450C>T|p.Cys150=|644/7028|450/5451|150/1817|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/22|c.591C>T|p.Cys197=|610/3682|591/2280|197/760|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/22|c.591C>T|p.Cys197=|698/3696|591/2100|197/700|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/24|c.591C>T|p.Cys197=|704/7151|591/5655|197/1885|0|-1| GT:AD:DP:GQ 0/0:52,0:52:99 0/0:46,0:46:99 0/1:21,21:42:99 +17 41252332 . T C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-435A>G|p.?|555/7088|442/5592||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-435A>G|p.?|495/7028|301/5451||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-435A>G|p.?|461/3682|442/2280||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-435A>G|p.?|549/3696|442/2100||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-435A>G|p.?|555/7151|442/5655||435|-1| GT:AD:DP:GQ 0/0:25,0:25:75 0/1:14,14:28:99 0/1:19,21:40:99 +17 41252691 . ATATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-795del|p.?|555/7088|442/5592||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-795del|p.?|495/7028|301/5451||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-795del|p.?|461/3682|442/2280||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-795del|p.?|549/3696|442/2100||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-795del|p.?|555/7151|442/5655||795|-1| GT:AD:DP:GQ 0/0:9,0:9:27 0/1:4,10:14:99 0/1:12,11:23:99 +17 41252693 . ATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-797del|p.?|555/7088|442/5592||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-797del|p.?|495/7028|301/5451||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-797del|p.?|461/3682|442/2280||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-797del|p.?|549/3696|442/2100||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-797del|p.?|555/7151|442/5655||797|-1| GT:AD:DP:GQ 0/0:9,0:9:27 0/0:14,0:14:42 0/1:11,11:22:99 +17 41252695 . AAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-799del|p.?|555/7088|442/5592||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-799del|p.?|495/7028|301/5451||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-799del|p.?|461/3682|442/2280||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-799del|p.?|549/3696|442/2100||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-799del|p.?|555/7151|442/5655||799|-1| GT:AD:DP:GQ 0/1:3,6:9:79 0/0:14,0:14:42 0/0:22,0:22:66 +17 41252696 . A T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-799T>A|p.?|555/7088|442/5592||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-799T>A|p.?|495/7028|301/5451||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-799T>A|p.?|461/3682|442/2280||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-799T>A|p.?|549/3696|442/2100||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-799T>A|p.?|555/7151|442/5655||799|-1| GT:AD:DP:GQ 0/1:6,3:9:78 0/1:10,4:14:98 0/0:22,0:22:67 +17 41252697 . A AT . . ANN=AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insA|p.?|555/7088|442/5592||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insA|p.?|495/7028|301/5451||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insA|p.?|461/3682|442/2280||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insA|p.?|549/3696|442/2100||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insA|p.?|555/7151|442/5655||801|-1| GT:AD:DP:GQ 1/1:0,45:45:99 1/0:16,17:33:99 1/0:22,11:33:99 +17 41252697 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insAA|p.?|555/7088|442/5592||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insAA|p.?|495/7028|301/5451||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insAA|p.?|461/3682|442/2280||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insAA|p.?|549/3696|442/2100||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insAA|p.?|555/7151|442/5655||801|-1| GT:AD:DP:GQ 0/0:45,0:45:99 0/1:17,16:33:99 0/1:12,21:33:99 +17 41254393 . G T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1746C>A|p.?|554/7088|441/5592||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1746C>A|p.?|494/7028|300/5451||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1746C>A|p.?|460/3682|441/2280||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1746C>A|p.?|548/3696|441/2100||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1746C>A|p.?|554/7151|441/5655||-1746|-1| GT:AD:DP:GQ 0/1:29,8:37:66 ./.:.:.:. 0/0:32,3:35:47 +17 41273700 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2333_80+2334insT|p.?|193/7088|80/5592||-2334|-1|,CA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2333_-8+2334insT|p.?|187/7028|-8/5451||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2333_80+2334insT|p.?|99/3682|80/2280||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2333_80+2334insT|p.?|187/3696|80/2100||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2333_80+2334insT|p.?|193/7151|80/5655||-2334|-1| GT:AD:DP:GQ 0/0:14,0:14:42 0/0:6,1:7:10 0/1:5,5:10:65 MT 73 . A G . . clinvar_vcv=VCV003066071.1;clinvar_germline_classification=Affects GT:AD:DP:GQ 0/0:3975,0:3975:99 1/1:0,2871:2871:99 1/1:0,3320:3320:99 MT 119 . T C . . . GT:AD:DP:GQ 0/0:5417,1:5418:99 1/1:0,4039:4039:99 1/1:1,4112:4113:99 MT 189 . A G . . . GT:AD:DP:GQ 0/0:3069,0:3069:99 1/1:0,1721:1721:99 1/1:0,2204:2204:99 diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@NA12878_dragen_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@NA12878_dragen_vcf.snap index 0bd7b175..bb2baa5c 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@NA12878_dragen_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@NA12878_dragen_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,85 +57,85 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA12878 -17 41244000 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=1591;gnomad_exomes_het=6707;gnomad_genomes_an=250954;gnomad_genomes_hom=16402;gnomad_genomes_het=55703;clinvar_vcv=VCV000041818.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3548A>G|p.K1183R|3661/7088|3548/5592|1183/1864|0|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.3407A>G|p.K1136R|3601/7028|3407/5451|1136/1817|0|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-951A>G|p.?|807/3682|788/2280||951|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-951A>G|p.?|895/3696|788/2100||951|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3548A>G|p.K1183R|3661/7151|3548/5655|1183/1885|0| GT:AD:DP:GQ 0/1:8,18:26:43 -17 41244435 . T C . . gnomad_exomes_an=31332;gnomad_exomes_hom=1505;gnomad_exomes_het=6415;gnomad_genomes_an=251032;gnomad_genomes_hom=16145;gnomad_genomes_het=55137;clinvar_vcv=VCV000041815.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3113A>G|p.E1038G|3226/7088|3113/5592|1038/1864|0|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2972A>G|p.E991G|3166/7028|2972/5451|991/1817|0|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-1386A>G|p.?|807/3682|788/2280||1386|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-1386A>G|p.?|895/3696|788/2100||1386|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3113A>G|p.E1038G|3226/7151|3113/5655|1038/1885|0| GT:AD:DP:GQ 0/1:12,14:26:47 -17 41244936 . G A . . gnomad_exomes_an=31324;gnomad_exomes_hom=4287;gnomad_exomes_het=6594;gnomad_genomes_an=251034;gnomad_genomes_hom=22738;gnomad_genomes_het=55898;clinvar_vcv=VCV000041812.88;clinvar_germline_classification=Benign;ANN=A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2612C>T|p.P871L|2725/7088|2612/5592|871/1864|0|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2471C>T|p.P824L|2665/7028|2471/5451|824/1817|0|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1825C>T|p.?|806/3682|787/2280||-1825|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1825C>T|p.?|894/3696|787/2100||-1825|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2612C>T|p.P871L|2725/7151|2612/5655|871/1885|0| GT:AD:DP:GQ 0/1:17,13:30:47 -17 41245237 . A G . . gnomad_exomes_an=31314;gnomad_exomes_hom=1492;gnomad_exomes_het=6416;gnomad_genomes_an=250946;gnomad_genomes_hom=16057;gnomad_genomes_het=55063;clinvar_vcv=VCV000125554.83;clinvar_germline_classification=Benign;ANN=G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2311T>C|p.L771=|2424/7088|2311/5592|771/1864|0|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2170T>C|p.L724=|2364/7028|2170/5451|724/1817|0|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1524T>C|p.?|806/3682|787/2280||-1524|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1524T>C|p.?|894/3696|787/2100||-1524|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2311T>C|p.L771=|2424/7151|2311/5655|771/1885|0| GT:AD:DP:GQ 0/1:18,11:29:46 -17 41245466 . G A . . gnomad_exomes_an=31338;gnomad_exomes_hom=1602;gnomad_exomes_het=6709;gnomad_genomes_an=251110;gnomad_genomes_hom=16420;gnomad_genomes_het=55707;clinvar_vcv=VCV000125536.84;clinvar_germline_classification=Benign;ANN=A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2082C>T|p.S694=|2195/7088|2082/5592|694/1864|0|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.1941C>T|p.S647=|2135/7028|1941/5451|647/1817|0|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1295C>T|p.?|806/3682|787/2280||-1295|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1295C>T|p.?|894/3696|787/2100||-1295|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2082C>T|p.S694=|2195/7151|2082/5655|694/1885|0| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41247122 . A ACCT . . clinvar_vcv=VCV000127125.5;clinvar_germline_classification=Benign;ANN=ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.671-246_671-245insAGG|p.?|784/7088|671/5592||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.530-246_530-245insAGG|p.?|724/7028|530/5451||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.671-246_671-245insAGG|p.?|690/3682|671/2280||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.671-246_671-245insAGG|p.?|778/3696|671/2100||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.671-246_671-245insAGG|p.?|784/7151|671/5655||246| GT:AD:DP:GQ 0/1:18,11:29:45 -17 41247604 . A C . . clinvar_vcv=VCV000209447.5;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.670+259T>G|p.?|783/7088|670/5592||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.529+259T>G|p.?|723/7028|529/5451||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.670+259T>G|p.?|689/3682|670/2280||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.670+259T>G|p.?|777/3696|670/2100||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.670+259T>G|p.?|783/7151|670/5655||-259| GT:AD:DP:GQ 0/1:12,11:23:47 -17 41248164 . C T . . clinvar_vcv=VCV000209449.4;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-225G>A|p.?|707/7088|594/5592||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-225G>A|p.?|647/7028|453/5451||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-225G>A|p.?|613/3682|594/2280||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-225G>A|p.?|701/3696|594/2100||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-225G>A|p.?|707/7151|594/5655||225| GT:AD:DP:GQ 0/1:14,7:21:44 -17 41248393 . C CAAAAAAAAAA . . ANN=CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-455_594-454insTTTTTTTTTT|p.?|707/7088|594/5592||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-455_453-454insTTTTTTTTTT|p.?|647/7028|453/5451||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-455_594-454insTTTTTTTTTT|p.?|613/3682|594/2280||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-455_594-454insTTTTTTTTTT|p.?|701/3696|594/2100||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-455_594-454insTTTTTTTTTT|p.?|707/7151|594/5655||455| GT:AD:DP:GQ 0/1:9,7:16:48 -17 41248484 . G C . . clinvar_vcv=VCV000209450.4;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-545C>G|p.?|707/7088|594/5592||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-545C>G|p.?|647/7028|453/5451||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-545C>G|p.?|613/3682|594/2280||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-545C>G|p.?|701/3696|594/2100||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-545C>G|p.?|707/7151|594/5655||545| GT:AD:DP:GQ 0/1:11,9:20:48 -17 41248588 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-650delT|p.?|707/7088|594/5592||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-650delT|p.?|647/7028|453/5451||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-650delT|p.?|613/3682|594/2280||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-650delT|p.?|701/3696|594/2100||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-650delT|p.?|707/7151|594/5655||650| GT:AD:DP:GQ 0/1:9,10:19:42 -17 41249094 . A G . . gnomad_exomes_an=31332;gnomad_exomes_hom=1602;gnomad_exomes_het=6703;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000209451.5;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.593+167T>C|p.?|706/7088|593/5592||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.452+167T>C|p.?|646/7028|452/5451||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.593+167T>C|p.?|612/3682|593/2280||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.593+167T>C|p.?|700/3696|593/2100||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.593+167T>C|p.?|706/7151|593/5655||-167| GT:AD:DP:GQ 0/1:9,7:16:48 -17 41249363 . TA T . . gnomad_exomes_an=31286;gnomad_exomes_hom=1497;gnomad_exomes_het=6409;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-58delT|p.?|661/7088|548/5592||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-58delT|p.?|601/7028|407/5451||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-58delT|p.?|567/3682|548/2280||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-58delT|p.?|655/3696|548/2100||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-58delT|p.?|661/7151|548/5655||58| GT:AD:DP:GQ 0/1:12,13:25:48 -17 41250047 . C CT . . ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-742_548-741insA|p.?|661/7088|548/5592||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-742_407-741insA|p.?|601/7028|407/5451||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-742_548-741insA|p.?|567/3682|548/2280||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-742_548-741insA|p.?|655/3696|548/2100||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-742_548-741insA|p.?|661/7151|548/5655||742| GT:AD:DP:GQ 0/1:13,7:20:18 -17 41250678 . C CT . . clinvar_vcv=VCV000209458.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+1113_547+1114insA|p.?|660/7088|547/5592||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+1113_406+1114insA|p.?|600/7028|406/5451||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+1113_547+1114insA|p.?|566/3682|547/2280||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+1113_547+1114insA|p.?|654/3696|547/2100||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+1113_547+1114insA|p.?|660/7151|547/5655||-1114| GT:AD:DP:GQ 0/1:6,16:22:42 -17 41250923 . T C . . clinvar_vcv=VCV000209460.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+869A>G|p.?|660/7088|547/5592||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+869A>G|p.?|600/7028|406/5451||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+869A>G|p.?|566/3682|547/2280||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+869A>G|p.?|654/3696|547/2100||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+869A>G|p.?|660/7151|547/5655||-869| GT:AD:DP:GQ 0/1:13,9:22:47 -17 41251495 . C G . . clinvar_vcv=VCV000209463.4;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+297G>C|p.?|660/7088|547/5592||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+297G>C|p.?|600/7028|406/5451||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+297G>C|p.?|566/3682|547/2280||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+297G>C|p.?|654/3696|547/2100||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+297G>C|p.?|660/7151|547/5655||-297| GT:AD:DP:GQ 0/1:11,15:26:48 -17 41251646 . T A . . gnomad_exomes_an=31294;gnomad_exomes_hom=1592;gnomad_exomes_het=6693;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125879.7;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+146A>T|p.?|660/7088|547/5592||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+146A>T|p.?|600/7028|406/5451||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+146A>T|p.?|566/3682|547/2280||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+146A>T|p.?|654/3696|547/2100||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+146A>T|p.?|660/7151|547/5655||-146| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41252575 . G A . . clinvar_vcv=VCV000209466.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-678C>T|p.?|555/7088|442/5592||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-678C>T|p.?|495/7028|301/5451||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-678C>T|p.?|461/3682|442/2280||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-678C>T|p.?|549/3696|442/2100||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-678C>T|p.?|555/7151|442/5655||678| GT:AD:DP:GQ:PS 1|1:0,3:3:5:41252575 -17 41252591 . C CAT . . clinvar_vcv=VCV000264796.2;clinvar_germline_classification=Benign;ANN=CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-695_442-694insAT|p.?|555/7088|442/5592||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-695_301-694insAT|p.?|495/7028|301/5451||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-695_442-694insAT|p.?|461/3682|442/2280||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-695_442-694insAT|p.?|549/3696|442/2100||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-695_442-694insAT|p.?|555/7151|442/5655||695| GT:AD:DP:GQ:PS 1|1:0,2:2:4:41252575 -17 41254174 . A G . . clinvar_vcv=VCV000209478.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1965T>C|p.?|554/7088|441/5592||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1965T>C|p.?|494/7028|300/5451||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1965T>C|p.?|460/3682|441/2280||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1965T>C|p.?|548/3696|441/2100||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1965T>C|p.?|554/7151|441/5655||-1965| GT:AD:DP:GQ 0/1:14,13:27:48 -17 41254374 . C CTTTTTTTT . . ANN=CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1764_441+1765insAAAAAAAA|p.?|554/7088|441/5592||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1764_300+1765insAAAAAAAA|p.?|494/7028|300/5451||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1764_441+1765insAAAAAAAA|p.?|460/3682|441/2280||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1764_441+1765insAAAAAAAA|p.?|548/3696|441/2100||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1764_441+1765insAAAAAAAA|p.?|554/7151|441/5655||-1765| GT:AD:DP:GQ 0/1:6,7:13:48 -17 41254405 . C T . . clinvar_vcv=VCV000264778.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1734G>A|p.?|554/7088|441/5592||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1734G>A|p.?|494/7028|300/5451||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1734G>A|p.?|460/3682|441/2280||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1734G>A|p.?|548/3696|441/2100||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1734G>A|p.?|554/7151|441/5655||-1734| GT:AD:DP:GQ 0/1:5,9:14:43 -17 41254486 . T G . . clinvar_vcv=VCV000209479.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1653A>C|p.?|554/7088|441/5592||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1653A>C|p.?|494/7028|300/5451||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1653A>C|p.?|460/3682|441/2280||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1653A>C|p.?|548/3696|441/2100||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1653A>C|p.?|554/7151|441/5655||-1653| GT:AD:DP:GQ 0/1:8,15:23:46 -17 41254965 . C CT . . clinvar_vcv=VCV000264845.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1173_441+1174insA|p.?|554/7088|441/5592||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1173_300+1174insA|p.?|494/7028|300/5451||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1173_441+1174insA|p.?|460/3682|441/2280||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1173_441+1174insA|p.?|548/3696|441/2100||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1173_441+1174insA|p.?|554/7151|441/5655||-1174| GT:AD:DP:GQ 0/1:14,8:22:22 -17 41255102 . A G . . clinvar_vcv=VCV000209483.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1037T>C|p.?|554/7088|441/5592||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1037T>C|p.?|494/7028|300/5451||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1037T>C|p.?|460/3682|441/2280||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1037T>C|p.?|548/3696|441/2100||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1037T>C|p.?|554/7151|441/5655||-1037| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 -17 41255111 . A T . . clinvar_vcv=VCV000209484.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1028T>A|p.?|554/7088|441/5592||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1028T>A|p.?|494/7028|300/5451||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1028T>A|p.?|460/3682|441/2280||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1028T>A|p.?|548/3696|441/2100||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1028T>A|p.?|554/7151|441/5655||-1028| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 -17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64delT|p.?|554/7088|441/5592||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64delT|p.?|494/7028|300/5451||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64delT|p.?|460/3682|441/2280||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64delT|p.?|548/3696|441/2100||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64delT|p.?|554/7151|441/5655||-64| GT:AD:DP:GQ:PS 0|1:11,6:17:43:41256074 -17 41256089 . AAAAAAAAAGAAAAG A . . gnomad_exomes_an=28388;gnomad_exomes_hom=1079;gnomad_exomes_het=5744;gnomad_genomes_an=167932;gnomad_genomes_hom=9911;gnomad_genomes_het=23697;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|554/7088|441/5592||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+36_300+49delCTTTTCTTTTTTTT|p.?|494/7028|300/5451||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|460/3682|441/2280||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|548/3696|441/2100||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|554/7151|441/5655||-36| GT:AD:DP:GQ:PS 0|1:13,6:19:43:41256074 -17 41257134 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=4418;gnomad_exomes_het=6505;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125614.7;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-161A>G|p.?|326/7088|213/5592||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-161A>G|p.?|266/7028|72/5451||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-161A>G|p.?|232/3682|213/2280||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-161A>G|p.?|320/3696|213/2100||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-161A>G|p.?|326/7151|213/5655||161| GT:AD:DP:GQ 0/1:14,15:29:48 -17 41257458 . A C . . clinvar_vcv=VCV000209489.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-485T>G|p.?|326/7088|213/5592||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-485T>G|p.?|266/7028|72/5451||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-485T>G|p.?|232/3682|213/2280||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-485T>G|p.?|320/3696|213/2100||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-485T>G|p.?|326/7151|213/5655||485| GT:AD:DP:GQ 0/1:11,15:26:48 -17 41258043 . C T . . clinvar_vcv=VCV000209491.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+430G>A|p.?|325/7088|212/5592||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+430G>A|p.?|265/7028|71/5451||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+430G>A|p.?|231/3682|212/2280||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+430G>A|p.?|319/3696|212/2100||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+430G>A|p.?|325/7151|212/5655||-430| GT:AD:DP:GQ 0/1:14,13:27:48 -17 41258135 . T TA . . ANN=TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+337_212+338insT|p.?|325/7088|212/5592||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+337_71+338insT|p.?|265/7028|71/5451||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+337_212+338insT|p.?|231/3682|212/2280||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+337_212+338insT|p.?|319/3696|212/2100||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+337_212+338insT|p.?|325/7151|212/5655||-338| GT:AD:DP:GQ 1/1:3,11:14:4 -17 41259049 . C T . . clinvar_vcv=VCV000209494.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-499G>A|p.?|248/7088|135/5592||499|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-499G>A|p.?|188/7028|-7/5451||499|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-499G>A|p.?|154/3682|135/2280||499|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-499G>A|p.?|242/3696|135/2100||499|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-499G>A|p.?|248/7151|135/5655||499| GT:AD:DP:GQ 0/1:8,8:16:48 -17 41259079 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-530_135-529insAA|p.?|248/7088|135/5592||530|,ATT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-530_-7-529insAA|p.?|188/7028|-7/5451||530|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-530_135-529insAA|p.?|154/3682|135/2280||530|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-530_135-529insAA|p.?|242/3696|135/2100||530|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-530_135-529insAA|p.?|248/7151|135/5655||530| GT:AD:DP:GQ 0/1:10,3:13:7 -17 41259113 . G A . . clinvar_vcv=VCV000264811.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-563C>T|p.?|248/7088|135/5592||563|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-563C>T|p.?|188/7028|-7/5451||563|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-563C>T|p.?|154/3682|135/2280||563|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-563C>T|p.?|242/3696|135/2100||563|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-563C>T|p.?|248/7151|135/5655||563| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41260352 . C CA . . clinvar_vcv=VCV000264791.2;clinvar_germline_classification=Benign;ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-1803_135-1802insT|p.?|248/7088|135/5592||1803|,CA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-1803_-7-1802insT|p.?|188/7028|-7/5451||1803|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-1803_135-1802insT|p.?|154/3682|135/2280||1803|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-1803_135-1802insT|p.?|242/3696|135/2100||1803|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-1803_135-1802insT|p.?|248/7151|135/5655||1803| GT:AD:DP:GQ 0/1:11,8:19:43 -17 41260723 . C CAAAAA . . ANN=CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2174_135-2173insTTTTT|p.?|248/7088|135/5592||2174|,CAAAAA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2174_-7-2173insTTTTT|p.?|188/7028|-7/5451||2174|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2174_135-2173insTTTTT|p.?|154/3682|135/2280||2174|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2174_135-2173insTTTTT|p.?|242/3696|135/2100||2174|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2174_135-2173insTTTTT|p.?|248/7151|135/5655||2174| GT:AD:DP:GQ 0/1:1,1:2:20 -17 41260808 . A G . . clinvar_vcv=VCV000209499.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2258T>C|p.?|248/7088|135/5592||2258|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2258T>C|p.?|188/7028|-7/5451||2258|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2258T>C|p.?|154/3682|135/2280||2258|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2258T>C|p.?|242/3696|135/2100||2258|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2258T>C|p.?|248/7151|135/5655||2258| GT:AD:DP:GQ 0/1:12,3:15:32 -17 41261058 . T TCTATCTATCTACCTAC . . clinvar_vcv=VCV000264813.2;clinvar_germline_classification=Benign;ANN=TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7088|135/5592||2509|,TCTATCTATCTACCTAC|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2509_-7-2508insGTAGGTAGATAGATAG|p.?|188/7028|-7/5451||2509|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|154/3682|135/2280||2509|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|242/3696|135/2100||2509|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7151|135/5655||2509| GT:AD:DP:GQ 0/1:9,11:20:48 -17 41261233 . C T . . clinvar_vcv=VCV000209503.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2683G>A|p.?|248/7088|135/5592||2683|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2683G>A|p.?|188/7028|-7/5451||2683|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2683G>A|p.?|154/3682|135/2280||2683|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2683G>A|p.?|242/3696|135/2100||2683|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2683G>A|p.?|248/7151|135/5655||2683| GT:AD:DP:GQ 0/1:12,15:27:48 -17 41263044 . A G . . clinvar_vcv=VCV000209512.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4494T>C|p.?|248/7088|135/5592||4494|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4494T>C|p.?|188/7028|-7/5451||4494|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4494T>C|p.?|154/3682|135/2280||4494|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4494T>C|p.?|242/3696|135/2100||4494|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4494T>C|p.?|248/7151|135/5655||4494| GT:AD:DP:GQ 0/1:7,7:14:48 -17 41263117 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4568_135-4567insT|p.?|248/7088|135/5592||4568|,CA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4568_-7-4567insT|p.?|188/7028|-7/5451||4568|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4568_135-4567insT|p.?|154/3682|135/2280||4568|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4568_135-4567insT|p.?|242/3696|135/2100||4568|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4568_135-4567insT|p.?|248/7151|135/5655||4568| GT:AD:DP:GQ 0/1:13,10:23:34 -17 41263566 . T C . . clinvar_vcv=VCV000209516.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+4177A>G|p.?|247/7088|134/5592||-4177|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5016A>G|p.?|188/7028|-7/5451||5016|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+4177A>G|p.?|153/3682|134/2280||-4177|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+4177A>G|p.?|241/3696|134/2100||-4177|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+4177A>G|p.?|247/7151|134/5655||-4177| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41264146 . G A . . clinvar_vcv=VCV000209519.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3597C>T|p.?|247/7088|134/5592||-3597|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5596C>T|p.?|188/7028|-7/5451||5596|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3597C>T|p.?|153/3682|134/2280||-3597|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3597C>T|p.?|241/3696|134/2100||-3597|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3597C>T|p.?|247/7151|134/5655||-3597| GT:AD:DP:GQ 0/1:13,7:20:45 -17 41264364 . A G . . clinvar_vcv=VCV000209521.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3379T>C|p.?|247/7088|134/5592||-3379|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5814T>C|p.?|188/7028|-7/5451||5814|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3379T>C|p.?|153/3682|134/2280||-3379|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3379T>C|p.?|241/3696|134/2100||-3379|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3379T>C|p.?|247/7151|134/5655||-3379| GT:AD:DP:GQ 0/1:8,16:24:45 -17 41264739 . C T . . clinvar_vcv=VCV000264785.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3004G>A|p.?|247/7088|134/5592||-3004|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6189G>A|p.?|188/7028|-7/5451||6189|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3004G>A|p.?|153/3682|134/2280||-3004|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3004G>A|p.?|241/3696|134/2100||-3004|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3004G>A|p.?|247/7151|134/5655||-3004| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264740 . TGA T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3001_134+3002delTC|p.?|247/7088|134/5592||-3001|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6192_-7-6191delTC|p.?|188/7028|-7/5451||6191|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3001_134+3002delTC|p.?|153/3682|134/2280||-3001|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3001_134+3002delTC|p.?|241/3696|134/2100||-3001|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3001_134+3002delTC|p.?|247/7151|134/5655||-3001| GT:AD:DP:GQ 0/1:14,16:30:48 -17 41264743 . CT C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2999delA|p.?|247/7088|134/5592||-2999|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6194delA|p.?|188/7028|-7/5451||6194|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2999delA|p.?|153/3682|134/2280||-2999|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2999delA|p.?|241/3696|134/2100||-2999|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2999delA|p.?|247/7151|134/5655||-2999| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264749 . C G . . clinvar_vcv=VCV000264823.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2994G>C|p.?|247/7088|134/5592||-2994|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6199G>C|p.?|188/7028|-7/5451||6199|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2994G>C|p.?|153/3682|134/2280||-2994|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2994G>C|p.?|241/3696|134/2100||-2994|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2994G>C|p.?|247/7151|134/5655||-2994| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264750 . A T . . clinvar_vcv=VCV000264824.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2993T>A|p.?|247/7088|134/5592||-2993|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6200T>A|p.?|188/7028|-7/5451||6200|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2993T>A|p.?|153/3682|134/2280||-2993|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2993T>A|p.?|241/3696|134/2100||-2993|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2993T>A|p.?|247/7151|134/5655||-2993| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264751 . A AGGG . . ANN=AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2991_134+2992insCCC|p.?|247/7088|134/5592||-2992|,AGGG|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6202_-7-6201insCCC|p.?|188/7028|-7/5451||6202|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2991_134+2992insCCC|p.?|153/3682|134/2280||-2992|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2991_134+2992insCCC|p.?|241/3696|134/2100||-2992|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2991_134+2992insCCC|p.?|247/7151|134/5655||-2992| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264753 . C T . . clinvar_vcv=VCV000264819.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2990G>A|p.?|247/7088|134/5592||-2990|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6203G>A|p.?|188/7028|-7/5451||6203|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2990G>A|p.?|153/3682|134/2280||-2990|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2990G>A|p.?|241/3696|134/2100||-2990|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2990G>A|p.?|247/7151|134/5655||-2990| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 -17 41264755 . TGAAAC T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2983_134+2987delGTTTC|p.?|247/7088|134/5592||-2983|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6210_-7-6206delGTTTC|p.?|188/7028|-7/5451||6206|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2983_134+2987delGTTTC|p.?|153/3682|134/2280||-2983|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2983_134+2987delGTTTC|p.?|241/3696|134/2100||-2983|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2983_134+2987delGTTTC|p.?|247/7151|134/5655||-2983| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 -17 41265776 . A G . . clinvar_vcv=VCV000209524.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1967T>C|p.?|247/7088|134/5592||-1967|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7226T>C|p.?|188/7028|-7/5451||7226|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1967T>C|p.?|153/3682|134/2280||-1967|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1967T>C|p.?|241/3696|134/2100||-1967|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1967T>C|p.?|247/7151|134/5655||-1967| GT:AD:DP:GQ 0/1:23,14:37:44 -17 41266407 . C CT . . clinvar_vcv=VCV000264777.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1335_134+1336insA|p.?|247/7088|134/5592||-1336|,CT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7858_-7-7857insA|p.?|188/7028|-7/5451||7858|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1335_134+1336insA|p.?|153/3682|134/2280||-1336|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1335_134+1336insA|p.?|241/3696|134/2100||-1336|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1335_134+1336insA|p.?|247/7151|134/5655||-1336| GT:AD:DP:GQ 0/1:10,8:18:33 -17 41267050 . G A . . clinvar_vcv=VCV000209531.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+693C>T|p.?|247/7088|134/5592||-693|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-8500C>T|p.?|188/7028|-7/5451||8500|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+693C>T|p.?|153/3682|134/2280||-693|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+693C>T|p.?|241/3696|134/2100||-693|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+693C>T|p.?|247/7151|134/5655||-693| GT:AD:DP:GQ 0/1:7,16:23:44 -17 41267518 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+224delT|p.?|247/7088|134/5592||-224|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+8515delT|p.?|187/7028|-8/5451||-8515|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+224delT|p.?|153/3682|134/2280||-224|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+224delT|p.?|241/3696|134/2100||-224|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+224delT|p.?|247/7151|134/5655||-224| GT:AD:DP:GQ 0/1:11,8:19:35 -17 41268206 . A C . . clinvar_vcv=VCV000209537.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-410T>G|p.?|194/7088|81/5592||410|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7828T>G|p.?|187/7028|-8/5451||-7828|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-410T>G|p.?|100/3682|81/2280||410|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-410T>G|p.?|188/3696|81/2100||410|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-410T>G|p.?|194/7151|81/5655||410| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 -17 41268208 . C CT . . clinvar_vcv=VCV000264808.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-413_81-412insA|p.?|194/7088|81/5592||413|,CT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7825_-8+7826insA|p.?|187/7028|-8/5451||-7826|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-413_81-412insA|p.?|100/3682|81/2280||413|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-413_81-412insA|p.?|188/3696|81/2100||413|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-413_81-412insA|p.?|194/7151|81/5655||413| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 -17 41270229 . T G . . clinvar_vcv=VCV000209545.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2433A>C|p.?|194/7088|81/5592||2433|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5805A>C|p.?|187/7028|-8/5451||-5805|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2433A>C|p.?|100/3682|81/2280||2433|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2433A>C|p.?|188/3696|81/2100||2433|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2433A>C|p.?|194/7151|81/5655||2433| GT:AD:DP:GQ 0/1:7,17:24:40 -17 41270277 . C T . . clinvar_vcv=VCV000209547.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2481G>A|p.?|194/7088|81/5592||2481|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5757G>A|p.?|187/7028|-8/5451||-5757|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2481G>A|p.?|100/3682|81/2280||2481|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2481G>A|p.?|188/3696|81/2100||2481|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2481G>A|p.?|194/7151|81/5655||2481| GT:AD:DP:GQ 0/1:9,13:22:48 -17 41270463 . G A . . clinvar_vcv=VCV000209551.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2667C>T|p.?|194/7088|81/5592||2667|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5571C>T|p.?|187/7028|-8/5451||-5571|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2667C>T|p.?|100/3682|81/2280||2667|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2667C>T|p.?|188/3696|81/2100||2667|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2667C>T|p.?|194/7151|81/5655||2667| GT:AD:DP:GQ 0/1:15,13:28:48 -17 41270666 . C A . . clinvar_vcv=VCV000209552.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2870G>T|p.?|194/7088|81/5592||2870|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5368G>T|p.?|187/7028|-8/5451||-5368|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2870G>T|p.?|100/3682|81/2280||2870|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2870G>T|p.?|188/3696|81/2100||2870|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2870G>T|p.?|194/7151|81/5655||2870| GT:AD:DP:GQ 0/1:11,4:15:43 -17 41270778 . C CT . . clinvar_vcv=VCV000264797.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2983_81-2982insA|p.?|194/7088|81/5592||2983|,CT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5255_-8+5256insA|p.?|187/7028|-8/5451||-5256|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2983_81-2982insA|p.?|100/3682|81/2280||2983|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2983_81-2982insA|p.?|188/3696|81/2100||2983|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2983_81-2982insA|p.?|194/7151|81/5655||2983| GT:AD:DP:GQ 0/1:11,5:16:14 -17 41271293 . GA G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-3498delT|p.?|194/7088|81/5592||3498|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+4740delT|p.?|187/7028|-8/5451||-4740|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-3498delT|p.?|100/3682|81/2280||3498|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-3498delT|p.?|188/3696|81/2100||3498|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-3498delT|p.?|194/7151|81/5655||3498| GT:AD:DP:GQ 0/1:10,10:20:48 -17 41273095 . G A . . clinvar_vcv=VCV000209559.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2939C>T|p.?|193/7088|80/5592||-2939|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2939C>T|p.?|187/7028|-8/5451||-2939|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2939C>T|p.?|99/3682|80/2280||-2939|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2939C>T|p.?|187/3696|80/2100||-2939|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2939C>T|p.?|193/7151|80/5655||-2939| GT:AD:DP:GQ 0/1:12,8:20:47 -17 41273348 . T C . . clinvar_vcv=VCV000209561.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2686A>G|p.?|193/7088|80/5592||-2686|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2686A>G|p.?|187/7028|-8/5451||-2686|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2686A>G|p.?|99/3682|80/2280||-2686|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2686A>G|p.?|187/3696|80/2100||-2686|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2686A>G|p.?|193/7151|80/5655||-2686| GT:AD:DP:GQ 0/1:18,13:31:47 -17 41273379 . G C . . clinvar_vcv=VCV000209562.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2655C>G|p.?|193/7088|80/5592||-2655|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2655C>G|p.?|187/7028|-8/5451||-2655|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2655C>G|p.?|99/3682|80/2280||-2655|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2655C>G|p.?|187/3696|80/2100||-2655|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2655C>G|p.?|193/7151|80/5655||-2655| GT:AD:DP:GQ 0/1:19,14:33:47 -17 41273537 . A C . . clinvar_vcv=VCV000209564.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2497T>G|p.?|193/7088|80/5592||-2497|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2497T>G|p.?|187/7028|-8/5451||-2497|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2497T>G|p.?|99/3682|80/2280||-2497|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2497T>G|p.?|187/3696|80/2100||-2497|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2497T>G|p.?|193/7151|80/5655||-2497| GT:AD:DP:GQ 0/1:14,19:33:48 -17 41274778 . G A . . clinvar_vcv=VCV000209565.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1256C>T|p.?|193/7088|80/5592||-1256|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1256C>T|p.?|187/7028|-8/5451||-1256|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1256C>T|p.?|99/3682|80/2280||-1256|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1256C>T|p.?|187/3696|80/2100||-1256|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1256C>T|p.?|193/7151|80/5655||-1256| GT:AD:DP:GQ 0/1:11,16:27:48 -17 41274906 . G A . . clinvar_vcv=VCV000209568.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1128C>T|p.?|193/7088|80/5592||-1128|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1128C>T|p.?|187/7028|-8/5451||-1128|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1128C>T|p.?|99/3682|80/2280||-1128|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1128C>T|p.?|187/3696|80/2100||-1128|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1128C>T|p.?|193/7151|80/5655||-1128| GT:AD:DP:GQ 0/1:17,10:27:47 -17 41275081 . G GA . . clinvar_vcv=VCV000209569.2;clinvar_germline_classification=Benign;ANN=GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+952_80+953insT|p.?|193/7088|80/5592||-953|,GA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+952_-8+953insT|p.?|187/7028|-8/5451||-953|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+952_80+953insT|p.?|99/3682|80/2280||-953|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+952_80+953insT|p.?|187/3696|80/2100||-953|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+952_80+953insT|p.?|193/7151|80/5655||-953| GT:AD:DP:GQ 0/1:10,12:22:47 -17 41275151 . G C . . clinvar_vcv=VCV000209570.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+883C>G|p.?|193/7088|80/5592||-883|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+883C>G|p.?|187/7028|-8/5451||-883|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+883C>G|p.?|99/3682|80/2280||-883|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+883C>G|p.?|187/3696|80/2100||-883|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+883C>G|p.?|193/7151|80/5655||-883| GT:AD:DP:GQ 0/1:15,13:28:48 -17 41275366 . GTTTTTTT G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+661_80+667delAAAAAAA|p.?|193/7088|80/5592||-661|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+661_-8+667delAAAAAAA|p.?|187/7028|-8/5451||-661|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+661_80+667delAAAAAAA|p.?|99/3682|80/2280||-661|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+661_80+667delAAAAAAA|p.?|187/3696|80/2100||-661|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+661_80+667delAAAAAAA|p.?|193/7151|80/5655||-661| GT:AD:DP:GQ 0/1:10,11:21:48 -17 41275645 . A G . . clinvar_vcv=VCV000209571.3;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+389T>C|p.?|193/7088|80/5592||-389|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+389T>C|p.?|187/7028|-8/5451||-389|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+389T>C|p.?|99/3682|80/2280||-389|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+389T>C|p.?|187/3696|80/2100||-389|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+389T>C|p.?|193/7151|80/5655||-389| GT:AD:DP:GQ 0/1:15,17:32:48 -17 41276247 . A G . . gnomad_exomes_an=31318;gnomad_exomes_hom=1611;gnomad_exomes_het=6702;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125468.4;clinvar_germline_classification=Benign;ANN=G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-115T>C|p.?|95/7088|-19/5592||115|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-115T>C|p.?|89/7028|-106/5451||115|,G|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||115|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-115T>C|p.?|89/3696|-19/2100||115|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-115T>C|p.?|95/7151|-19/5655||115| GT:AD:DP:GQ 0/1:18,10:28:44 -17 41276348 . T C . . clinvar_vcv=VCV000209574.3;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-216A>G|p.?|95/7088|-19/5592||216|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-216A>G|p.?|89/7028|-106/5451||216|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||216|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-216A>G|p.?|89/3696|-19/2100||216|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-216A>G|p.?|95/7151|-19/5655||216| GT:AD:DP:GQ 0/1:17,13:30:47 -17 41277187 . G C . . gnomad_exomes_an=29432;gnomad_exomes_hom=4088;gnomad_exomes_het=6345;gnomad_genomes_an=128296;gnomad_genomes_hom=11705;gnomad_genomes_het=29182;clinvar_vcv=VCV000189123.4;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-20+101C>G|p.?|94/7088|-20/5592||-101|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-107+107C>G|p.?|88/7028|-107/5451||-107|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||1055|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-20+107C>G|p.?|88/3696|-20/2100||-107|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-20+101C>G|p.?|94/7151|-20/5655||-101| GT:AD:DP:GQ 0/1:14,14:28:48 +17 41244000 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=1591;gnomad_exomes_het=6707;gnomad_genomes_an=250954;gnomad_genomes_hom=16402;gnomad_genomes_het=55703;clinvar_vcv=VCV000041818.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3548A>G|p.Lys1183Arg|3661/7088|3548/5592|1183/1864|0|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.3407A>G|p.Lys1136Arg|3601/7028|3407/5451|1136/1817|0|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-951A>G|p.?|807/3682|788/2280||951|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-951A>G|p.?|895/3696|788/2100||951|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3548A>G|p.Lys1183Arg|3661/7151|3548/5655|1183/1885|0|-1| GT:AD:DP:GQ 0/1:8,18:26:43 +17 41244435 . T C . . gnomad_exomes_an=31332;gnomad_exomes_hom=1505;gnomad_exomes_het=6415;gnomad_genomes_an=251032;gnomad_genomes_hom=16145;gnomad_genomes_het=55137;clinvar_vcv=VCV000041815.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3113A>G|p.Glu1038Gly|3226/7088|3113/5592|1038/1864|0|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2972A>G|p.Glu991Gly|3166/7028|2972/5451|991/1817|0|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-1386A>G|p.?|807/3682|788/2280||1386|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-1386A>G|p.?|895/3696|788/2100||1386|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3113A>G|p.Glu1038Gly|3226/7151|3113/5655|1038/1885|0|-1| GT:AD:DP:GQ 0/1:12,14:26:47 +17 41244936 . G A . . gnomad_exomes_an=31324;gnomad_exomes_hom=4287;gnomad_exomes_het=6594;gnomad_genomes_an=251034;gnomad_genomes_hom=22738;gnomad_genomes_het=55898;clinvar_vcv=VCV000041812.88;clinvar_germline_classification=Benign;ANN=A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2612C>T|p.Pro871Leu|2725/7088|2612/5592|871/1864|0|-1|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2471C>T|p.Pro824Leu|2665/7028|2471/5451|824/1817|0|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1825C>T|p.?|806/3682|787/2280||-1825|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1825C>T|p.?|894/3696|787/2100||-1825|-1|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2612C>T|p.Pro871Leu|2725/7151|2612/5655|871/1885|0|-1| GT:AD:DP:GQ 0/1:17,13:30:47 +17 41245237 . A G . . gnomad_exomes_an=31314;gnomad_exomes_hom=1492;gnomad_exomes_het=6416;gnomad_genomes_an=250946;gnomad_genomes_hom=16057;gnomad_genomes_het=55063;clinvar_vcv=VCV000125554.83;clinvar_germline_classification=Benign;ANN=G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2311T>C|p.Leu771=|2424/7088|2311/5592|771/1864|0|-1|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2170T>C|p.Leu724=|2364/7028|2170/5451|724/1817|0|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1524T>C|p.?|806/3682|787/2280||-1524|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1524T>C|p.?|894/3696|787/2100||-1524|-1|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2311T>C|p.Leu771=|2424/7151|2311/5655|771/1885|0|-1| GT:AD:DP:GQ 0/1:18,11:29:46 +17 41245466 . G A . . gnomad_exomes_an=31338;gnomad_exomes_hom=1602;gnomad_exomes_het=6709;gnomad_genomes_an=251110;gnomad_genomes_hom=16420;gnomad_genomes_het=55707;clinvar_vcv=VCV000125536.84;clinvar_germline_classification=Benign;ANN=A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2082C>T|p.Ser694=|2195/7088|2082/5592|694/1864|0|-1|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.1941C>T|p.Ser647=|2135/7028|1941/5451|647/1817|0|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1295C>T|p.?|806/3682|787/2280||-1295|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1295C>T|p.?|894/3696|787/2100||-1295|-1|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2082C>T|p.Ser694=|2195/7151|2082/5655|694/1885|0|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41247122 . A ACCT . . clinvar_vcv=VCV000127125.5;clinvar_germline_classification=Benign;ANN=ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.671-246_671-245insAGG|p.?|784/7088|671/5592||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.530-246_530-245insAGG|p.?|724/7028|530/5451||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.671-246_671-245insAGG|p.?|690/3682|671/2280||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.671-246_671-245insAGG|p.?|778/3696|671/2100||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.671-246_671-245insAGG|p.?|784/7151|671/5655||246|-1| GT:AD:DP:GQ 0/1:18,11:29:45 +17 41247604 . A C . . clinvar_vcv=VCV000209447.5;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.670+259T>G|p.?|783/7088|670/5592||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.529+259T>G|p.?|723/7028|529/5451||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.670+259T>G|p.?|689/3682|670/2280||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.670+259T>G|p.?|777/3696|670/2100||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.670+259T>G|p.?|783/7151|670/5655||-259|-1| GT:AD:DP:GQ 0/1:12,11:23:47 +17 41248164 . C T . . clinvar_vcv=VCV000209449.4;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-225G>A|p.?|707/7088|594/5592||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-225G>A|p.?|647/7028|453/5451||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-225G>A|p.?|613/3682|594/2280||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-225G>A|p.?|701/3696|594/2100||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-225G>A|p.?|707/7151|594/5655||225|-1| GT:AD:DP:GQ 0/1:14,7:21:44 +17 41248393 . C CAAAAAAAAAA . . ANN=CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-455_594-454insTTTTTTTTTT|p.?|707/7088|594/5592||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-455_453-454insTTTTTTTTTT|p.?|647/7028|453/5451||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-455_594-454insTTTTTTTTTT|p.?|613/3682|594/2280||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-455_594-454insTTTTTTTTTT|p.?|701/3696|594/2100||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-455_594-454insTTTTTTTTTT|p.?|707/7151|594/5655||455|-1| GT:AD:DP:GQ 0/1:9,7:16:48 +17 41248484 . G C . . clinvar_vcv=VCV000209450.4;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-545C>G|p.?|707/7088|594/5592||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-545C>G|p.?|647/7028|453/5451||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-545C>G|p.?|613/3682|594/2280||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-545C>G|p.?|701/3696|594/2100||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-545C>G|p.?|707/7151|594/5655||545|-1| GT:AD:DP:GQ 0/1:11,9:20:48 +17 41248588 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-650del|p.?|707/7088|594/5592||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-650del|p.?|647/7028|453/5451||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-650del|p.?|613/3682|594/2280||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-650del|p.?|701/3696|594/2100||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-650del|p.?|707/7151|594/5655||650|-1| GT:AD:DP:GQ 0/1:9,10:19:42 +17 41249094 . A G . . gnomad_exomes_an=31332;gnomad_exomes_hom=1602;gnomad_exomes_het=6703;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000209451.5;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.593+167T>C|p.?|706/7088|593/5592||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.452+167T>C|p.?|646/7028|452/5451||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.593+167T>C|p.?|612/3682|593/2280||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.593+167T>C|p.?|700/3696|593/2100||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.593+167T>C|p.?|706/7151|593/5655||-167|-1| GT:AD:DP:GQ 0/1:9,7:16:48 +17 41249363 . TA T . . gnomad_exomes_an=31286;gnomad_exomes_hom=1497;gnomad_exomes_het=6409;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-58del|p.?|661/7088|548/5592||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-58del|p.?|601/7028|407/5451||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-58del|p.?|567/3682|548/2280||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-58del|p.?|655/3696|548/2100||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-58del|p.?|661/7151|548/5655||58|-1| GT:AD:DP:GQ 0/1:12,13:25:48 +17 41250047 . C CT . . ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-742_548-741insA|p.?|661/7088|548/5592||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-742_407-741insA|p.?|601/7028|407/5451||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-742_548-741insA|p.?|567/3682|548/2280||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-742_548-741insA|p.?|655/3696|548/2100||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-742_548-741insA|p.?|661/7151|548/5655||742|-1| GT:AD:DP:GQ 0/1:13,7:20:18 +17 41250678 . C CT . . clinvar_vcv=VCV000209458.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+1113_547+1114insA|p.?|660/7088|547/5592||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+1113_406+1114insA|p.?|600/7028|406/5451||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+1113_547+1114insA|p.?|566/3682|547/2280||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+1113_547+1114insA|p.?|654/3696|547/2100||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+1113_547+1114insA|p.?|660/7151|547/5655||-1114|-1| GT:AD:DP:GQ 0/1:6,16:22:42 +17 41250923 . T C . . clinvar_vcv=VCV000209460.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+869A>G|p.?|660/7088|547/5592||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+869A>G|p.?|600/7028|406/5451||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+869A>G|p.?|566/3682|547/2280||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+869A>G|p.?|654/3696|547/2100||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+869A>G|p.?|660/7151|547/5655||-869|-1| GT:AD:DP:GQ 0/1:13,9:22:47 +17 41251495 . C G . . clinvar_vcv=VCV000209463.4;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+297G>C|p.?|660/7088|547/5592||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+297G>C|p.?|600/7028|406/5451||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+297G>C|p.?|566/3682|547/2280||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+297G>C|p.?|654/3696|547/2100||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+297G>C|p.?|660/7151|547/5655||-297|-1| GT:AD:DP:GQ 0/1:11,15:26:48 +17 41251646 . T A . . gnomad_exomes_an=31294;gnomad_exomes_hom=1592;gnomad_exomes_het=6693;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125879.7;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+146A>T|p.?|660/7088|547/5592||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+146A>T|p.?|600/7028|406/5451||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+146A>T|p.?|566/3682|547/2280||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+146A>T|p.?|654/3696|547/2100||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+146A>T|p.?|660/7151|547/5655||-146|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41252575 . G A . . clinvar_vcv=VCV000209466.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-678C>T|p.?|555/7088|442/5592||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-678C>T|p.?|495/7028|301/5451||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-678C>T|p.?|461/3682|442/2280||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-678C>T|p.?|549/3696|442/2100||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-678C>T|p.?|555/7151|442/5655||678|-1| GT:AD:DP:GQ:PS 1|1:0,3:3:5:41252575 +17 41252591 . C CAT . . clinvar_vcv=VCV000264796.2;clinvar_germline_classification=Benign;ANN=CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-695_442-694insAT|p.?|555/7088|442/5592||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-695_301-694insAT|p.?|495/7028|301/5451||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-695_442-694insAT|p.?|461/3682|442/2280||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-695_442-694insAT|p.?|549/3696|442/2100||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-695_442-694insAT|p.?|555/7151|442/5655||695|-1| GT:AD:DP:GQ:PS 1|1:0,2:2:4:41252575 +17 41254174 . A G . . clinvar_vcv=VCV000209478.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1965T>C|p.?|554/7088|441/5592||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1965T>C|p.?|494/7028|300/5451||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1965T>C|p.?|460/3682|441/2280||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1965T>C|p.?|548/3696|441/2100||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1965T>C|p.?|554/7151|441/5655||-1965|-1| GT:AD:DP:GQ 0/1:14,13:27:48 +17 41254374 . C CTTTTTTTT . . ANN=CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1764_441+1765insAAAAAAAA|p.?|554/7088|441/5592||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1764_300+1765insAAAAAAAA|p.?|494/7028|300/5451||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1764_441+1765insAAAAAAAA|p.?|460/3682|441/2280||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1764_441+1765insAAAAAAAA|p.?|548/3696|441/2100||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1764_441+1765insAAAAAAAA|p.?|554/7151|441/5655||-1765|-1| GT:AD:DP:GQ 0/1:6,7:13:48 +17 41254405 . C T . . clinvar_vcv=VCV000264778.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1734G>A|p.?|554/7088|441/5592||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1734G>A|p.?|494/7028|300/5451||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1734G>A|p.?|460/3682|441/2280||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1734G>A|p.?|548/3696|441/2100||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1734G>A|p.?|554/7151|441/5655||-1734|-1| GT:AD:DP:GQ 0/1:5,9:14:43 +17 41254486 . T G . . clinvar_vcv=VCV000209479.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1653A>C|p.?|554/7088|441/5592||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1653A>C|p.?|494/7028|300/5451||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1653A>C|p.?|460/3682|441/2280||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1653A>C|p.?|548/3696|441/2100||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1653A>C|p.?|554/7151|441/5655||-1653|-1| GT:AD:DP:GQ 0/1:8,15:23:46 +17 41254965 . C CT . . clinvar_vcv=VCV000264845.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1173_441+1174insA|p.?|554/7088|441/5592||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1173_300+1174insA|p.?|494/7028|300/5451||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1173_441+1174insA|p.?|460/3682|441/2280||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1173_441+1174insA|p.?|548/3696|441/2100||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1173_441+1174insA|p.?|554/7151|441/5655||-1174|-1| GT:AD:DP:GQ 0/1:14,8:22:22 +17 41255102 . A G . . clinvar_vcv=VCV000209483.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1037T>C|p.?|554/7088|441/5592||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1037T>C|p.?|494/7028|300/5451||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1037T>C|p.?|460/3682|441/2280||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1037T>C|p.?|548/3696|441/2100||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1037T>C|p.?|554/7151|441/5655||-1037|-1| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 +17 41255111 . A T . . clinvar_vcv=VCV000209484.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1028T>A|p.?|554/7088|441/5592||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1028T>A|p.?|494/7028|300/5451||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1028T>A|p.?|460/3682|441/2280||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1028T>A|p.?|548/3696|441/2100||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1028T>A|p.?|554/7151|441/5655||-1028|-1| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 +17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64del|p.?|554/7088|441/5592||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64del|p.?|494/7028|300/5451||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64del|p.?|460/3682|441/2280||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64del|p.?|548/3696|441/2100||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64del|p.?|554/7151|441/5655||-64|-1| GT:AD:DP:GQ:PS 0|1:11,6:17:43:41256074 +17 41256089 . AAAAAAAAAGAAAAG A . . gnomad_exomes_an=28388;gnomad_exomes_hom=1079;gnomad_exomes_het=5744;gnomad_genomes_an=167932;gnomad_genomes_hom=9911;gnomad_genomes_het=23697;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+36_441+49del|p.?|554/7088|441/5592||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+36_300+49del|p.?|494/7028|300/5451||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+36_441+49del|p.?|460/3682|441/2280||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+36_441+49del|p.?|548/3696|441/2100||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+36_441+49del|p.?|554/7151|441/5655||-36|-1| GT:AD:DP:GQ:PS 0|1:13,6:19:43:41256074 +17 41257134 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=4418;gnomad_exomes_het=6505;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125614.7;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-161A>G|p.?|326/7088|213/5592||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-161A>G|p.?|266/7028|72/5451||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-161A>G|p.?|232/3682|213/2280||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-161A>G|p.?|320/3696|213/2100||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-161A>G|p.?|326/7151|213/5655||161|-1| GT:AD:DP:GQ 0/1:14,15:29:48 +17 41257458 . A C . . clinvar_vcv=VCV000209489.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-485T>G|p.?|326/7088|213/5592||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-485T>G|p.?|266/7028|72/5451||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-485T>G|p.?|232/3682|213/2280||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-485T>G|p.?|320/3696|213/2100||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-485T>G|p.?|326/7151|213/5655||485|-1| GT:AD:DP:GQ 0/1:11,15:26:48 +17 41258043 . C T . . clinvar_vcv=VCV000209491.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+430G>A|p.?|325/7088|212/5592||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+430G>A|p.?|265/7028|71/5451||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+430G>A|p.?|231/3682|212/2280||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+430G>A|p.?|319/3696|212/2100||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+430G>A|p.?|325/7151|212/5655||-430|-1| GT:AD:DP:GQ 0/1:14,13:27:48 +17 41258135 . T TA . . ANN=TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+337_212+338insT|p.?|325/7088|212/5592||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+337_71+338insT|p.?|265/7028|71/5451||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+337_212+338insT|p.?|231/3682|212/2280||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+337_212+338insT|p.?|319/3696|212/2100||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+337_212+338insT|p.?|325/7151|212/5655||-338|-1| GT:AD:DP:GQ 1/1:3,11:14:4 +17 41259049 . C T . . clinvar_vcv=VCV000209494.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-499G>A|p.?|248/7088|135/5592||499|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-499G>A|p.?|188/7028|-7/5451||499|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-499G>A|p.?|154/3682|135/2280||499|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-499G>A|p.?|242/3696|135/2100||499|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-499G>A|p.?|248/7151|135/5655||499|-1| GT:AD:DP:GQ 0/1:8,8:16:48 +17 41259079 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-530_135-529insAA|p.?|248/7088|135/5592||530|-1|,ATT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-530_-7-529insAA|p.?|188/7028|-7/5451||530|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-530_135-529insAA|p.?|154/3682|135/2280||530|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-530_135-529insAA|p.?|242/3696|135/2100||530|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-530_135-529insAA|p.?|248/7151|135/5655||530|-1| GT:AD:DP:GQ 0/1:10,3:13:7 +17 41259113 . G A . . clinvar_vcv=VCV000264811.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-563C>T|p.?|248/7088|135/5592||563|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-563C>T|p.?|188/7028|-7/5451||563|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-563C>T|p.?|154/3682|135/2280||563|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-563C>T|p.?|242/3696|135/2100||563|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-563C>T|p.?|248/7151|135/5655||563|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41260352 . C CA . . clinvar_vcv=VCV000264791.2;clinvar_germline_classification=Benign;ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-1803_135-1802insT|p.?|248/7088|135/5592||1803|-1|,CA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-1803_-7-1802insT|p.?|188/7028|-7/5451||1803|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-1803_135-1802insT|p.?|154/3682|135/2280||1803|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-1803_135-1802insT|p.?|242/3696|135/2100||1803|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-1803_135-1802insT|p.?|248/7151|135/5655||1803|-1| GT:AD:DP:GQ 0/1:11,8:19:43 +17 41260723 . C CAAAAA . . ANN=CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2174_135-2173insTTTTT|p.?|248/7088|135/5592||2174|-1|,CAAAAA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2174_-7-2173insTTTTT|p.?|188/7028|-7/5451||2174|-1|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2174_135-2173insTTTTT|p.?|154/3682|135/2280||2174|-1|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2174_135-2173insTTTTT|p.?|242/3696|135/2100||2174|-1|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2174_135-2173insTTTTT|p.?|248/7151|135/5655||2174|-1| GT:AD:DP:GQ 0/1:1,1:2:20 +17 41260808 . A G . . clinvar_vcv=VCV000209499.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2258T>C|p.?|248/7088|135/5592||2258|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2258T>C|p.?|188/7028|-7/5451||2258|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2258T>C|p.?|154/3682|135/2280||2258|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2258T>C|p.?|242/3696|135/2100||2258|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2258T>C|p.?|248/7151|135/5655||2258|-1| GT:AD:DP:GQ 0/1:12,3:15:32 +17 41261058 . T TCTATCTATCTACCTAC . . clinvar_vcv=VCV000264813.2;clinvar_germline_classification=Benign;ANN=TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7088|135/5592||2509|-1|,TCTATCTATCTACCTAC|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2509_-7-2508insGTAGGTAGATAGATAG|p.?|188/7028|-7/5451||2509|-1|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|154/3682|135/2280||2509|-1|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|242/3696|135/2100||2509|-1|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7151|135/5655||2509|-1| GT:AD:DP:GQ 0/1:9,11:20:48 +17 41261233 . C T . . clinvar_vcv=VCV000209503.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2683G>A|p.?|248/7088|135/5592||2683|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2683G>A|p.?|188/7028|-7/5451||2683|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2683G>A|p.?|154/3682|135/2280||2683|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2683G>A|p.?|242/3696|135/2100||2683|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2683G>A|p.?|248/7151|135/5655||2683|-1| GT:AD:DP:GQ 0/1:12,15:27:48 +17 41263044 . A G . . clinvar_vcv=VCV000209512.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4494T>C|p.?|248/7088|135/5592||4494|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4494T>C|p.?|188/7028|-7/5451||4494|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4494T>C|p.?|154/3682|135/2280||4494|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4494T>C|p.?|242/3696|135/2100||4494|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4494T>C|p.?|248/7151|135/5655||4494|-1| GT:AD:DP:GQ 0/1:7,7:14:48 +17 41263117 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4568_135-4567insT|p.?|248/7088|135/5592||4568|-1|,CA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4568_-7-4567insT|p.?|188/7028|-7/5451||4568|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4568_135-4567insT|p.?|154/3682|135/2280||4568|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4568_135-4567insT|p.?|242/3696|135/2100||4568|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4568_135-4567insT|p.?|248/7151|135/5655||4568|-1| GT:AD:DP:GQ 0/1:13,10:23:34 +17 41263566 . T C . . clinvar_vcv=VCV000209516.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+4177A>G|p.?|247/7088|134/5592||-4177|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5016A>G|p.?|188/7028|-7/5451||5016|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+4177A>G|p.?|153/3682|134/2280||-4177|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+4177A>G|p.?|241/3696|134/2100||-4177|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+4177A>G|p.?|247/7151|134/5655||-4177|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41264146 . G A . . clinvar_vcv=VCV000209519.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3597C>T|p.?|247/7088|134/5592||-3597|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5596C>T|p.?|188/7028|-7/5451||5596|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3597C>T|p.?|153/3682|134/2280||-3597|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3597C>T|p.?|241/3696|134/2100||-3597|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3597C>T|p.?|247/7151|134/5655||-3597|-1| GT:AD:DP:GQ 0/1:13,7:20:45 +17 41264364 . A G . . clinvar_vcv=VCV000209521.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3379T>C|p.?|247/7088|134/5592||-3379|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5814T>C|p.?|188/7028|-7/5451||5814|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3379T>C|p.?|153/3682|134/2280||-3379|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3379T>C|p.?|241/3696|134/2100||-3379|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3379T>C|p.?|247/7151|134/5655||-3379|-1| GT:AD:DP:GQ 0/1:8,16:24:45 +17 41264739 . C T . . clinvar_vcv=VCV000264785.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3004G>A|p.?|247/7088|134/5592||-3004|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6189G>A|p.?|188/7028|-7/5451||6189|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3004G>A|p.?|153/3682|134/2280||-3004|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3004G>A|p.?|241/3696|134/2100||-3004|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3004G>A|p.?|247/7151|134/5655||-3004|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264740 . TGA T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3001_134+3002del|p.?|247/7088|134/5592||-3001|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6192_-7-6191del|p.?|188/7028|-7/5451||6191|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3001_134+3002del|p.?|153/3682|134/2280||-3001|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3001_134+3002del|p.?|241/3696|134/2100||-3001|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3001_134+3002del|p.?|247/7151|134/5655||-3001|-1| GT:AD:DP:GQ 0/1:14,16:30:48 +17 41264743 . CT C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2999del|p.?|247/7088|134/5592||-2999|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6194del|p.?|188/7028|-7/5451||6194|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2999del|p.?|153/3682|134/2280||-2999|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2999del|p.?|241/3696|134/2100||-2999|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2999del|p.?|247/7151|134/5655||-2999|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264749 . C G . . clinvar_vcv=VCV000264823.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2994G>C|p.?|247/7088|134/5592||-2994|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6199G>C|p.?|188/7028|-7/5451||6199|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2994G>C|p.?|153/3682|134/2280||-2994|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2994G>C|p.?|241/3696|134/2100||-2994|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2994G>C|p.?|247/7151|134/5655||-2994|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264750 . A T . . clinvar_vcv=VCV000264824.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2993T>A|p.?|247/7088|134/5592||-2993|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6200T>A|p.?|188/7028|-7/5451||6200|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2993T>A|p.?|153/3682|134/2280||-2993|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2993T>A|p.?|241/3696|134/2100||-2993|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2993T>A|p.?|247/7151|134/5655||-2993|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264751 . A AGGG . . ANN=AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2991_134+2992insCCC|p.?|247/7088|134/5592||-2992|-1|,AGGG|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6202_-7-6201insCCC|p.?|188/7028|-7/5451||6202|-1|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2991_134+2992insCCC|p.?|153/3682|134/2280||-2992|-1|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2991_134+2992insCCC|p.?|241/3696|134/2100||-2992|-1|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2991_134+2992insCCC|p.?|247/7151|134/5655||-2992|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264753 . C T . . clinvar_vcv=VCV000264819.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2990G>A|p.?|247/7088|134/5592||-2990|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6203G>A|p.?|188/7028|-7/5451||6203|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2990G>A|p.?|153/3682|134/2280||-2990|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2990G>A|p.?|241/3696|134/2100||-2990|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2990G>A|p.?|247/7151|134/5655||-2990|-1| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 +17 41264755 . TGAAAC T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2983_134+2987del|p.?|247/7088|134/5592||-2983|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6210_-7-6206del|p.?|188/7028|-7/5451||6206|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2983_134+2987del|p.?|153/3682|134/2280||-2983|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2983_134+2987del|p.?|241/3696|134/2100||-2983|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2983_134+2987del|p.?|247/7151|134/5655||-2983|-1| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 +17 41265776 . A G . . clinvar_vcv=VCV000209524.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1967T>C|p.?|247/7088|134/5592||-1967|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7226T>C|p.?|188/7028|-7/5451||7226|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1967T>C|p.?|153/3682|134/2280||-1967|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1967T>C|p.?|241/3696|134/2100||-1967|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1967T>C|p.?|247/7151|134/5655||-1967|-1| GT:AD:DP:GQ 0/1:23,14:37:44 +17 41266407 . C CT . . clinvar_vcv=VCV000264777.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1335_134+1336insA|p.?|247/7088|134/5592||-1336|-1|,CT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7858_-7-7857insA|p.?|188/7028|-7/5451||7858|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1335_134+1336insA|p.?|153/3682|134/2280||-1336|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1335_134+1336insA|p.?|241/3696|134/2100||-1336|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1335_134+1336insA|p.?|247/7151|134/5655||-1336|-1| GT:AD:DP:GQ 0/1:10,8:18:33 +17 41267050 . G A . . clinvar_vcv=VCV000209531.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+693C>T|p.?|247/7088|134/5592||-693|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-8500C>T|p.?|188/7028|-7/5451||8500|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+693C>T|p.?|153/3682|134/2280||-693|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+693C>T|p.?|241/3696|134/2100||-693|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+693C>T|p.?|247/7151|134/5655||-693|-1| GT:AD:DP:GQ 0/1:7,16:23:44 +17 41267518 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+224del|p.?|247/7088|134/5592||-224|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+8515del|p.?|187/7028|-8/5451||-8515|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+224del|p.?|153/3682|134/2280||-224|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+224del|p.?|241/3696|134/2100||-224|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+224del|p.?|247/7151|134/5655||-224|-1| GT:AD:DP:GQ 0/1:11,8:19:35 +17 41268206 . A C . . clinvar_vcv=VCV000209537.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-410T>G|p.?|194/7088|81/5592||410|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7828T>G|p.?|187/7028|-8/5451||-7828|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-410T>G|p.?|100/3682|81/2280||410|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-410T>G|p.?|188/3696|81/2100||410|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-410T>G|p.?|194/7151|81/5655||410|-1| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 +17 41268208 . C CT . . clinvar_vcv=VCV000264808.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-413_81-412insA|p.?|194/7088|81/5592||413|-1|,CT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7825_-8+7826insA|p.?|187/7028|-8/5451||-7826|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-413_81-412insA|p.?|100/3682|81/2280||413|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-413_81-412insA|p.?|188/3696|81/2100||413|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-413_81-412insA|p.?|194/7151|81/5655||413|-1| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 +17 41270229 . T G . . clinvar_vcv=VCV000209545.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2433A>C|p.?|194/7088|81/5592||2433|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5805A>C|p.?|187/7028|-8/5451||-5805|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2433A>C|p.?|100/3682|81/2280||2433|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2433A>C|p.?|188/3696|81/2100||2433|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2433A>C|p.?|194/7151|81/5655||2433|-1| GT:AD:DP:GQ 0/1:7,17:24:40 +17 41270277 . C T . . clinvar_vcv=VCV000209547.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2481G>A|p.?|194/7088|81/5592||2481|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5757G>A|p.?|187/7028|-8/5451||-5757|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2481G>A|p.?|100/3682|81/2280||2481|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2481G>A|p.?|188/3696|81/2100||2481|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2481G>A|p.?|194/7151|81/5655||2481|-1| GT:AD:DP:GQ 0/1:9,13:22:48 +17 41270463 . G A . . clinvar_vcv=VCV000209551.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2667C>T|p.?|194/7088|81/5592||2667|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5571C>T|p.?|187/7028|-8/5451||-5571|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2667C>T|p.?|100/3682|81/2280||2667|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2667C>T|p.?|188/3696|81/2100||2667|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2667C>T|p.?|194/7151|81/5655||2667|-1| GT:AD:DP:GQ 0/1:15,13:28:48 +17 41270666 . C A . . clinvar_vcv=VCV000209552.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2870G>T|p.?|194/7088|81/5592||2870|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5368G>T|p.?|187/7028|-8/5451||-5368|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2870G>T|p.?|100/3682|81/2280||2870|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2870G>T|p.?|188/3696|81/2100||2870|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2870G>T|p.?|194/7151|81/5655||2870|-1| GT:AD:DP:GQ 0/1:11,4:15:43 +17 41270778 . C CT . . clinvar_vcv=VCV000264797.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2983_81-2982insA|p.?|194/7088|81/5592||2983|-1|,CT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5255_-8+5256insA|p.?|187/7028|-8/5451||-5256|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2983_81-2982insA|p.?|100/3682|81/2280||2983|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2983_81-2982insA|p.?|188/3696|81/2100||2983|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2983_81-2982insA|p.?|194/7151|81/5655||2983|-1| GT:AD:DP:GQ 0/1:11,5:16:14 +17 41271293 . GA G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-3498del|p.?|194/7088|81/5592||3498|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+4740del|p.?|187/7028|-8/5451||-4740|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-3498del|p.?|100/3682|81/2280||3498|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-3498del|p.?|188/3696|81/2100||3498|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-3498del|p.?|194/7151|81/5655||3498|-1| GT:AD:DP:GQ 0/1:10,10:20:48 +17 41273095 . G A . . clinvar_vcv=VCV000209559.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2939C>T|p.?|193/7088|80/5592||-2939|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2939C>T|p.?|187/7028|-8/5451||-2939|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2939C>T|p.?|99/3682|80/2280||-2939|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2939C>T|p.?|187/3696|80/2100||-2939|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2939C>T|p.?|193/7151|80/5655||-2939|-1| GT:AD:DP:GQ 0/1:12,8:20:47 +17 41273348 . T C . . clinvar_vcv=VCV000209561.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2686A>G|p.?|193/7088|80/5592||-2686|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2686A>G|p.?|187/7028|-8/5451||-2686|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2686A>G|p.?|99/3682|80/2280||-2686|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2686A>G|p.?|187/3696|80/2100||-2686|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2686A>G|p.?|193/7151|80/5655||-2686|-1| GT:AD:DP:GQ 0/1:18,13:31:47 +17 41273379 . G C . . clinvar_vcv=VCV000209562.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2655C>G|p.?|193/7088|80/5592||-2655|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2655C>G|p.?|187/7028|-8/5451||-2655|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2655C>G|p.?|99/3682|80/2280||-2655|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2655C>G|p.?|187/3696|80/2100||-2655|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2655C>G|p.?|193/7151|80/5655||-2655|-1| GT:AD:DP:GQ 0/1:19,14:33:47 +17 41273537 . A C . . clinvar_vcv=VCV000209564.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2497T>G|p.?|193/7088|80/5592||-2497|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2497T>G|p.?|187/7028|-8/5451||-2497|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2497T>G|p.?|99/3682|80/2280||-2497|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2497T>G|p.?|187/3696|80/2100||-2497|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2497T>G|p.?|193/7151|80/5655||-2497|-1| GT:AD:DP:GQ 0/1:14,19:33:48 +17 41274778 . G A . . clinvar_vcv=VCV000209565.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1256C>T|p.?|193/7088|80/5592||-1256|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1256C>T|p.?|187/7028|-8/5451||-1256|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1256C>T|p.?|99/3682|80/2280||-1256|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1256C>T|p.?|187/3696|80/2100||-1256|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1256C>T|p.?|193/7151|80/5655||-1256|-1| GT:AD:DP:GQ 0/1:11,16:27:48 +17 41274906 . G A . . clinvar_vcv=VCV000209568.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1128C>T|p.?|193/7088|80/5592||-1128|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1128C>T|p.?|187/7028|-8/5451||-1128|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1128C>T|p.?|99/3682|80/2280||-1128|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1128C>T|p.?|187/3696|80/2100||-1128|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1128C>T|p.?|193/7151|80/5655||-1128|-1| GT:AD:DP:GQ 0/1:17,10:27:47 +17 41275081 . G GA . . clinvar_vcv=VCV000209569.2;clinvar_germline_classification=Benign;ANN=GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+952_80+953insT|p.?|193/7088|80/5592||-953|-1|,GA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+952_-8+953insT|p.?|187/7028|-8/5451||-953|-1|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+952_80+953insT|p.?|99/3682|80/2280||-953|-1|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+952_80+953insT|p.?|187/3696|80/2100||-953|-1|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+952_80+953insT|p.?|193/7151|80/5655||-953|-1| GT:AD:DP:GQ 0/1:10,12:22:47 +17 41275151 . G C . . clinvar_vcv=VCV000209570.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+883C>G|p.?|193/7088|80/5592||-883|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+883C>G|p.?|187/7028|-8/5451||-883|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+883C>G|p.?|99/3682|80/2280||-883|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+883C>G|p.?|187/3696|80/2100||-883|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+883C>G|p.?|193/7151|80/5655||-883|-1| GT:AD:DP:GQ 0/1:15,13:28:48 +17 41275366 . GTTTTTTT G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+661_80+667del|p.?|193/7088|80/5592||-661|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+661_-8+667del|p.?|187/7028|-8/5451||-661|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+661_80+667del|p.?|99/3682|80/2280||-661|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+661_80+667del|p.?|187/3696|80/2100||-661|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+661_80+667del|p.?|193/7151|80/5655||-661|-1| GT:AD:DP:GQ 0/1:10,11:21:48 +17 41275645 . A G . . clinvar_vcv=VCV000209571.3;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+389T>C|p.?|193/7088|80/5592||-389|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+389T>C|p.?|187/7028|-8/5451||-389|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+389T>C|p.?|99/3682|80/2280||-389|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+389T>C|p.?|187/3696|80/2100||-389|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+389T>C|p.?|193/7151|80/5655||-389|-1| GT:AD:DP:GQ 0/1:15,17:32:48 +17 41276247 . A G . . gnomad_exomes_an=31318;gnomad_exomes_hom=1611;gnomad_exomes_het=6702;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125468.4;clinvar_germline_classification=Benign;ANN=G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-115T>C|p.?|95/7088|-19/5592||115|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-115T>C|p.?|89/7028|-106/5451||115|-1|,G|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||115|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-115T>C|p.?|89/3696|-19/2100||115|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-115T>C|p.?|95/7151|-19/5655||115|-1| GT:AD:DP:GQ 0/1:18,10:28:44 +17 41276348 . T C . . clinvar_vcv=VCV000209574.3;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-216A>G|p.?|95/7088|-19/5592||216|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-216A>G|p.?|89/7028|-106/5451||216|-1|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||216|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-216A>G|p.?|89/3696|-19/2100||216|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-216A>G|p.?|95/7151|-19/5655||216|-1| GT:AD:DP:GQ 0/1:17,13:30:47 +17 41277187 . G C . . gnomad_exomes_an=29432;gnomad_exomes_hom=4088;gnomad_exomes_het=6345;gnomad_genomes_an=128296;gnomad_genomes_hom=11705;gnomad_genomes_het=29182;clinvar_vcv=VCV000189123.4;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-20+101C>G|p.?|94/7088|-20/5592||-101|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-107+107C>G|p.?|88/7028|-107/5451||-107|-1|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||1055|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-20+107C>G|p.?|88/3696|-20/2100||-107|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-20+101C>G|p.?|94/7151|-20/5655||-101|-1| GT:AD:DP:GQ 0/1:14,14:28:48 MT 152 . T C . . . GT:GQ:AD:DP 1/1:98:2,10582:10584 MT 263 . A G . . clinvar_vcv=VCV000441147.1;clinvar_germline_classification=not provided GT:GQ:AD:DP 1/1:98:0,7628:7628 MT 302 . A AC . . . GT:GQ:AD:DP 1/1:97:40,3496:3536 diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@clair3_glnexus_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@clair3_glnexus_vcf.snap index e6e6b144..78690870 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@clair3_glnexus_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@clair3_glnexus_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_4_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_4_vcf.snap index c90e9563..e41acbb1 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_4_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_4_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,5 +57,5 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA12878 -17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64delT|p.?|554/7088|441/5592||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64delT|p.?|494/7028|300/5451||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64delT|p.?|460/3682|441/2280||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64delT|p.?|548/3696|441/2100||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64delT|p.?|554/7151|441/5655||-64| GT:AD:DP:GQ:PS 0|1:11,6:17:43:41256074 +17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64del|p.?|554/7088|441/5592||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64del|p.?|494/7028|300/5451||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64del|p.?|460/3682|441/2280||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64del|p.?|548/3696|441/2100||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64del|p.?|554/7151|441/5655||-64|-1| GT:AD:DP:GQ:PS 0|1:11,6:17:43:41256074 MT 750 . A G . . clinvar_vcv=VCV000441148.2;clinvar_germline_classification=association not found GT:GQ:AD:DP 1/1:98:1,7818:7819 diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_9_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_9_vcf.snap index 4e52d004..19e2bb87 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_9_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_dragen_07_021_624_3_10_9_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,5 +57,5 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CASE -17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64delT|p.?|554/7088|441/5592||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64delT|p.?|494/7028|300/5451||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64delT|p.?|460/3682|441/2280||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64delT|p.?|548/3696|441/2100||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64delT|p.?|554/7151|441/5655||-64| GT:AD:DP:GQ:PS 0|1:18,14:32:47:41256074 +17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64del|p.?|554/7088|441/5592||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64del|p.?|494/7028|300/5451||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64del|p.?|460/3682|441/2280||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64del|p.?|548/3696|441/2100||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64del|p.?|554/7151|441/5655||-64|-1| GT:AD:DP:GQ:PS 0|1:18,14:32:47:41256074 MT 750 . A G . . clinvar_vcv=VCV000441148.2;clinvar_germline_classification=association not found GT:GQ:AD:DP 1/1:98:1,5607:5608 diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_3_7-0_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_3_7-0_vcf.snap index e3de4dd7..6c094cf3 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_3_7-0_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_3_7-0_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -57,5 +61,5 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41210126 . C CTAGCACTT . . ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||975|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||975|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|17/21|c.1882-975_1882-974insAAGTGCTA|p.?|1901/3682|1882/2280||975|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||975|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||975| GT:AD:DP:GQ 0/0:29,0:29:87 0/1:23,13:36:99 0/1:15,17:32:99 +17 41210126 . C CTAGCACTT . . ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||975|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||975|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|17/21|c.1882-975_1882-974insAAGTGCTA|p.?|1901/3682|1882/2280||975|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||975|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||975|-1| GT:AD:DP:GQ 0/0:29,0:29:87 0/1:23,13:36:99 0/1:15,17:32:99 MT 750 . A G . . clinvar_vcv=VCV000441148.2;clinvar_germline_classification=association not found GT:AD:DP:GQ 1/1:0,2757:2757:99 1/1:0,2392:2392:99 1/1:0,1621:1621:99 diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_4_4_0_0_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_4_4_0_0_vcf.snap index 55ce4ffd..3b79d0e2 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_4_4_0_0_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test@example_gatk_hc_4_4_0_0_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,5 +57,5 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CASE -17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64delT|p.?|554/7088|441/5592||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64delT|p.?|494/7028|300/5451||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64delT|p.?|460/3682|441/2280||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64delT|p.?|548/3696|441/2100||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64delT|p.?|554/7151|441/5655||-64| GT:AD:DP:GQ:PS 1|1:0,80:80:99:41256074 +17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64del|p.?|554/7088|441/5592||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64del|p.?|494/7028|300/5451||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64del|p.?|460/3682|441/2280||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64del|p.?|548/3696|441/2100||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64del|p.?|554/7151|441/5655||-64|-1| GT:AD:DP:GQ:PS 1|1:0,80:80:99:41256074 MT 750 . A G . . clinvar_vcv=VCV000441148.2;clinvar_germline_classification=association not found GT:AD:DP:GQ 1/1:0,35:35:99 diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_gz.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_gz.snap index 73da644f..2efcfb24 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_gz.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_gz.snap @@ -3,552 +3,567 @@ source: src/seqvars/ingest/mod.rs expression: "String::from_utf8_lossy(&buffer)" --- 0000: 1F 8B 08 04 00 00 00 00 00 FF 06 00 42 43 02 00 ............BC.. -0016: E8 1E CD 9D 59 73 DB 48 92 C7 9F 35 9F 42 E1 8E ....Ys.H...5.B.. -0032: 98 79 B0 24 D7 7D D0 2B 6F 70 28 37 DB B1 BE 46 .y.$.}.+op(7...F -0048: E2 F4 EC 3E 31 38 32 6D 33 C6 A2 BC 92 DC DB BD ...>182m3....... -0064: C1 0F 3F 59 85 AB 00 64 81 A2 0A A0 E4 8E 36 68 ..?Y...d......6h -0080: 16 89 4C 64 FD FE A8 AC 03 C5 9F 7E FA BC FA B6 ..Ld.......~.... -0096: FC 7C 7D 73 B5 B8 3B FD 75 F2 F3 6F E2 44 FC E9 .|}s..;.u..o.D.. -0112: A7 9F DE BC FF F9 C3 E9 7F BC 39 3B FD B2 BE BE ..........9;.... -0128: 5A 7C 9A 2F 7F BF BE 5A DE CE 17 EB A3 F7 3F AE Z|./...Z......?. -0144: FE B9 BC 39 A5 47 B3 3F BE 2F 4F DF AC EF 96 5F ...9.G.?./O...._ -0160: 96 37 47 67 CB DB CB 9B D5 F7 BB D5 F5 FA F4 59 .7Gg...........Y -0176: F6 91 C3 EB CF 87 8B 6F DF 96 DF 96 B7 87 AB F5 .......o........ -0192: A1 3B D1 F8 EC 30 3B D1 B3 57 71 1B 5F AF AF 76 .;...0;..Wq._..v -0208: 33 02 5F 38 01 4B 77 27 87 97 8B 9B 9B D5 F2 66 3._8.Kw'.......f -0224: 47 7B CB BB 1D ED 2D EF D2 EC 5D AD 76 35 78 B5 G{....-...].v5x. -0240: 7A 90 C5 2F CB 75 4F D5 96 9F A9 D3 4A BF 15 77 z../.uO.....J..w -0256: 2F 8B BD 56 DD FD 2C F6 5B 79 A8 CD AF CB 6F AB /..V..,.[y....o. -0272: DF 53 2A ED 17 77 82 77 77 67 FF C4 CE DB 53 35 .S*..w.wwg....S5 -0288: 75 DB E8 A7 62 22 36 C6 EF DF 17 67 3F C9 CE 7E u...b"6....g?..~ -0304: 71 77 B3 5A 7F A9 9F FC E7 1F EB 4B F7 6A F1 ED qw.Z.......K.j.. -0320: 70 B1 5E 5F DF 2D DC 3F 6E 47 87 7F 19 FB 40 1D p.^_.-.?nG....@. -0336: 6E 0E C7 E5 DB B5 7F CC DF 5C 7D 5F 5C DE C1 7B n........\}_\..{ -0352: D3 E5 7A 39 7F BF B8 5A 16 AF DF 9C C1 AB 9F 97 ..z9...Z........ -0368: 8B BB 1F 37 CB B9 B3 1C FC D3 97 CD 6E 16 EB CC ...7........n... -0384: 87 F9 5F 57 D7 F9 27 CE 17 EB 7F C1 E1 97 E9 AF .._W..'......... -0400: 17 27 97 C5 8B EF F0 E2 F2 EC FD F8 E4 FB F5 ED .'.............. -0416: E1 8B EC E5 B7 E5 FA CB DD 57 28 98 9C 5D E4 EF .........W(..].. -0432: BB 57 E5 DB E3 E2 D3 E3 E0 B3 67 AB DB BB C5 FA .W........g..... -0448: D2 19 7A 7D 7E FE E1 FC 02 CA FF 31 3E 7F FF E6 ..z}~......1>... -0464: FD D4 BD 74 51 FB 8B 8F DF CF 6F DE CE 5E 9F FB ...tQ.....o..^.. -0480: 08 7E 1C 5F 5C D4 A3 05 41 39 84 96 E0 CE 45 FE .~._\...A9....E. -0496: FB E2 F6 76 F9 29 FB CE 87 F3 77 E3 59 16 F5 B3 ...v.)....w.Y... -0512: 22 E8 E7 1D 55 7A BE 5C 7C 3A FC B4 FC 0E AE 41 "...Uz.\|:.....A -0528: A3 72 B8 5C 5C 7E CD C9 6C 9E EF EC E3 7D 10 A9 .r.\\~..l....}.. -0544: CE D7 FC FE F4 6F F7 F9 FE E4 7A FD 69 95 63 E0 .....o....z.i.c. -0560: C4 76 E7 AA E4 7F 7F 2C BE AD EE FE 68 9D 71 D6 .v.....,....h.q. -0576: 38 23 86 D5 34 3F 49 F3 CB 1F 2F EE E3 CE C7 AF 8#..4?I.../..... -0592: 8B DB E5 E1 ED F2 CE 7F FD F2 7A 7D B7 FA E2 BF ..........z}.... -0608: 4E 8F B2 0A 3D 65 C2 32 49 14 A3 47 AE 16 AE FE N...=e.2I..G.... -0624: F9 ED 0F B0 79 3E F9 CA F5 B3 A3 DB EF CB CB D5 ....y>.......... -0640: F2 F6 F4 D9 2F D7 57 D7 87 B7 8B EF AB E5 FA B6 ..../.W......... -0656: 79 26 56 9D 89 53 6B B9 E6 0F 3D 13 2F CE 44 AD y&V..Sk...=./.D. -0672: 21 0C 4E 47 1E 7A 26 51 9D 89 52 29 98 56 0F 3D !.NG.z&Q..R).V.= -0688: 93 2C CF 64 88 A5 92 A9 07 FB A4 CA 33 69 0A 4E .,.d........3i.N -0704: 11 A5 1F 7A 26 5D 9E 49 5A CA 8D 52 0F 8E B8 29 ...z&].IZ..R...) -0720: CF 24 14 57 02 82 FE D0 33 D9 EA 4C 94 51 0E 28 .$.W....3..L.Q.( -0736: 3C F4 4C 94 94 A7 E2 52 72 A1 C5 83 03 45 69 70 <.L....Rr....Eip -0752: 2A 42 94 A4 0F E6 80 B2 EA 54 DC 48 6A AC 7C F0 *B.......T.Hj.|. -0768: A9 2A CE 29 78 64 8D 36 0F 3E 55 05 3A D1 5C 58 .*.)xd.6.>U.:.\X -0784: 29 1E 8C 27 AD 48 27 4C 72 CA ED 83 59 A0 25 EA )..'.H'Lr...Y.%. -0800: 96 70 29 B4 7C 30 9F B4 44 DD 50 6A 25 A3 0F BF .p).|0..D.Pj%... -0816: BC 12 75 6D 88 D6 4C 3C 3C E6 25 EA A0 3E 66 AC ..um..L<<.%..>f. -0832: 79 F0 D5 B1 92 74 C5 21 E6 92 3D F8 EA 58 09 BA y....t.!..=..X.. -0848: 30 94 D9 04 38 59 C9 B9 A4 9C 08 A9 1E AC 98 FF 0...8Y.......... -0864: AE EE 52 92 69 22 1F 7E E7 FC 9F 2A E0 D0 BA 24 ..R.i".~...*...$ -0880: B8 F4 6E 56 FA A4 A4 B2 3B 9D C6 75 5B CF 16 77 ..nV....;..u[..w -0896: 4B A8 35 06 81 61 14 DE BB 18 BF FB F8 F6 B5 3F K.5..a.........? -0912: F5 FB 31 B0 00 42 BE 58 FE 0E A9 E0 F2 6A 01 09 ..1..B.X.....j.. -0928: C8 11 A4 4A 4B 68 7F 21 DB F9 FC 79 79 79 97 E7 ...JKh.!...yyy.. -0944: 38 1F 5F 9F BD 99 9E BF AE 7D CF BD FF FB F1 6F 8._......}.....o -0960: 8B 9B CF AB DB AF C7 97 F0 A5 E3 1F 3F 56 9F 4E ............?V.N -0976: 49 FE E7 18 F9 AB F8 53 FB EA 6F 90 50 B9 96 DF I......S..o.P... -0992: 9D BB 78 EF 76 79 03 6F 1F FF DF F5 CD BF 20 3F ..x.vy.o.......? -1008: F8 35 FF C4 B3 DF 4F FE 38 F9 FF 67 AF A2 5F BF .5....O.8..g.._. -1024: BE 59 7D 01 57 20 99 BA 39 72 49 E9 E9 B3 B3 9B .Y}.W...9rI..... -1040: 05 E4 34 CF AA 53 5C FC 63 74 48 F4 09 61 F4 44 ..4..S\.ctH..a.D -1056: 31 71 C2 4F 28 39 11 47 87 BF D4 DE 76 26 26 BF 1q.O(9.G....v&&. -1072: 9C 7F 78 77 F0 F1 C3 C5 C1 9B B3 83 F3 D7 3F 1F ..xw..........?. -1088: 8C DF CE 0E FE F6 F7 F1 DB 83 2C 4B 3C 70 69 E3 ..........,K..}. -1216: 7F FA D7 E5 7A F5 65 FD 12 3A 18 A7 93 CD D5 0A ....z.e..:...... -1232: 70 5C DF 2E E7 F0 8D D5 62 7D B7 79 F7 E1 EC F5 p\......b}.y.... -1248: F9 78 F6 7A F3 D7 F3 C9 98 6E 7E 99 BE 9F 8C 28 .x.z.....n~....( -1264: 25 64 73 57 66 FD 9B F7 EF E6 84 68 66 61 18 65 %dsWf......hfa.e -1280: 33 B9 FE 04 E9 E3 9F DF 2D D6 CB 0B 48 80 2F EF 3.......-...H./. -1296: 36 94 BC 60 7C 73 79 02 77 61 33 7E 35 DD 7C 3F 6..`|sy.wa3~5.|? -1312: F9 2F 4A 0D 3F DF 70 A5 E8 0B 4D 8C D9 B8 A2 17 ./J.?.p...M..... -1328: 52 5A B6 71 25 2F A8 51 62 43 36 47 89 EE E8 D2 RZ.q%/.QbC6G.... -1344: 9D 8D 7D C1 98 73 41 10 5D BA C0 95 73 81 38 17 ..}..sA.]...s.8. -1360: 18 B8 00 45 2F A4 90 74 E3 4A C0 05 AA 33 17 56 ...E/..t.J...3.V -1376: EB BB 1B E8 1F 05 0E BC F9 F9 CD EB F3 FB 38 60 ..............8` -1392: 4E 78 E0 00 05 07 B4 31 C7 56 D2 CC 87 FF DC 40 Nx.....1.V.....@ -1408: 2B F0 82 2B C3 36 F0 3E 78 68 C8 66 03 A5 89 56 +..+.6.>xh.f...V -1424: 6D 75 D9 2E F4 98 59 2B C1 AC 55 99 59 77 9A C2 mu....Y+..U.Yw.. -1440: 6C 42 BC 39 21 75 C3 22 5E E7 90 72 E4 75 AE A4 lB.9!u."^..r.u.. -1456: 2C EA DC 48 08 F8 C1 74 36 1A 9F 8D CE 3E 8E A6 ,..H...t6....>.. -1472: 7F 3B 20 2F E8 C8 1C 51 33 62 6A 24 78 29 45 C1 .;./...Q3bj$x)E. -1488: E5 16 29 72 86 4A 91 48 4C 8A 82 4A 54 8A 94 70 ..)r.J.HL..JT..p -1504: 86 4B 91 0A 89 4B 91 72 1D 93 A2 7C 52 52 04 C6 .K...K.r...|RR.. -1520: B3 6A 79 0D 57 69 A6 1B CE 98 CA A5 08 45 B9 14 .jy.Wi.......E.. -1536: A1 64 38 29 C2 7B 2C 77 C1 5A 0A 1E 50 A5 32 25 .d8).{,w.Z..P.2% -1552: BA 92 4C 89 50 30 A4 10 5D B7 A5 43 89 AE 78 18 ..L.P0..]..C..x. -1568: 29 D6 0C B7 B5 58 18 EE 5D 8C 78 AD 7B 31 FA 5A )....X..].x.{1.Z -1584: F7 62 CC 6A 1D 17 23 74 40 A8 F0 6A D4 A5 1A 2D .b.j..#t@..j...- -1600: 57 A0 C2 E9 C1 38 AA 46 26 10 35 0A 68 5D 31 35 W....8.F&.5.h]15 -1616: 4A 2B 62 6A 44 1B 46 C6 34 37 B8 1A 21 2D 8E A9 J+bjD.F.47..!-.. -1632: 91 9D 18 B3 8B 1A C7 43 AA 91 29 CA 26 AF 66 50 .......C..).&.fP -1648: 2F 1F 8D A6 6F 37 4C 33 99 89 D1 95 64 62 84 82 /...o7L3....db.. -1664: 52 8B E3 DE B5 28 34 2D 1C 60 02 1C 50 4A E6 5A R....(4-.`..PJ.Z -1680: 84 92 4C 8B 50 50 6A 71 DC B7 16 F5 73 6A 98 CC ..L.PPjq....sj.. -1696: 5C 70 5A 54 85 16 75 AE C5 63 57 9E 68 18 15 63 \pZT..u..cW.h..c -1712: C3 B2 15 85 18 75 2E C6 D2 72 DF 6A C4 6B DD 89 .....u...r.j.k.. -1728: 31 AB 75 27 C6 AC D6 23 5A D4 47 94 8F 38 09 B4 1.u'...#Z.G..8.. -1744: 28 19 D7 A0 C1 31 A8 31 A6 45 8A 69 91 C2 F0 1B (....1.1.E.i.... -1760: DE 32 AA 48 92 2A 14 DE 32 12 A9 71 2D 12 85 25 .2.H.*..2..q-..% -1776: A9 14 3A 9C 52 9C 18 BE 8B 16 A7 9B DB 3F D6 D7 ..:.R........?.. -1792: EB 3F AE AE 7F DC 96 95 F1 F6 C3 3F 7A 10 22 DC .?.........?z.". -1808: 06 67 AF 26 50 25 6F B5 A6 A7 40 3F 40 9F 09 11 .g.&P%o...@?@... -1824: 4A 32 21 EA 40 88 29 9E 20 2A A4 9A 14 D6 99 00 J2!.@.)..*...... -1840: EB 30 18 96 AB 10 4A 32 15 EA 40 85 D3 01 54 28 .0....J2..@...T( -1856: 99 C8 5C 88 A8 10 CA 13 0D C7 54 18 5A C6 54 98 ..\.......T.Z.T. -1872: 5B 7E 68 C0 71 09 A2 F5 ED 25 E8 EB DB 49 50 77 [~h.q....%...IPw -1888: 49 10 92 53 3A 62 76 24 54 29 41 A1 B6 35 87 55 I..S:bv$T)A..5.U -1904: 73 15 4A 50 11 86 F7 13 2D DE 1C C2 65 46 FA 89 s.JP....-...eF.. -1920: 8C C4 FA 89 3A 22 41 AE 4E 8C D8 AD 39 1C 4C 82 ....:"A.N...9.L. -1936: C4 E4 77 C5 0B 65 9D 08 60 C4 2D 97 20 94 64 12 ..w..e..`.-...d. -1952: 84 82 A0 2D EC 53 82 D4 0A 5A 58 17 DA 59 E7 79 ...-.S...ZX..Y.y -1968: 43 E8 4A 32 09 42 C1 A0 0D 21 B3 DD 0D 21 94 0F C.J2.B...!...!.. -1984: D4 10 86 96 31 09 E6 96 FB 95 20 5A DF 5E 82 BE ....1......Z.^.. -2000: BE 9D 04 B3 FA 8E 48 90 1E 99 11 05 05 96 23 35 ......H.......#5 -2016: 9A 32 E6 1B C1 F1 64 32 F3 22 C4 A0 87 4F C9 13 .2....d2."...O.. -2032: B9 13 F3 70 BA 94 A8 E3 DC E7 E0 29 4D 8F 99 50 ...p.......)M..P -2048: F3 EC 28 57 EB DB F1 34 EB 1F 68 93 37 41 4A E7 ..(W...4..h.7AJ. -2064: 2D 10 DC A6 A0 7B 90 EA 4E 00 BF C9 18 90 9C 78 -....{..N......x -2080: 1F B2 63 CD 07 96 37 44 50 94 89 A0 1F 1F 02 05 ..c...7DP....... -2096: E4 3E C4 E3 A0 2C C9 B4 E0 E2 90 69 A1 17 1F 6C .>...,.....i...l -2112: ED 26 D0 ED 83 D6 26 53 85 F7 C1 AB A2 07 1F 6A .&....&S.......j -2128: BA B0 D9 6D 70 0B 0F 4E 1F 9E 07 27 0F EF 43 47 ...mp..N...'..CG -2144: DB 24 4B 65 28 22 BC 32 26 11 59 30 48 EC 84 DE .$Ke(".2&.Y0H... -2160: 4D 16 93 01 35 41 9E 33 69 67 AF 8A 0B E7 85 10 M...5A.3ig...... -2176: 48 2E 84 63 28 4E EC A1 23 32 60 B6 66 96 F1 9C H..c(N..#2`.f... -2192: 7D 66 73 F6 7B 30 8B 91 5F BB 5A 65 6C 81 3B 29 }fs.{0.._.Zel.;) -2208: 6E FD E9 66 31 D8 EB 41 D6 BA 20 9C 14 F7 FD 54 n..f1..A.......T -2224: B3 38 DF ED BA CD A0 26 39 D4 DE 2C 3A 00 01 54 .8.....&9..,:..T -2240: F3 A0 D3 63 20 E5 01 9A 27 07 B3 2E AA E1 CA 77 ...c....'......w -2256: A1 7A 80 3B BD C9 A8 86 F1 8D 63 C6 E4 F4 D5 38 .z.;......c....8 -2272: BB 72 18 77 F2 54 C3 FB C5 ED DD F5 37 FB BA B7 .r.w.T......7... -2288: EB AC 9A 85 E4 A1 55 97 C3 78 A8 E1 FD E2 86 9E ......U..x...... -2304: 6C 35 60 3A B7 DA B8 56 05 63 4C 9E 69 77 AD F9 l5`:...V.cL.iw.. -2320: 2D 3C D9 AA 6D 0B B8 19 61 9A 21 ED AD 66 37 ED -<..m...a.!..f7. -2336: 44 AB 35 A2 4D 46 34 56 AF 8E 68 5F AF D9 6D 1A D.5.MF4V..h_..m. -2352: AC B6 81 16 47 7A C4 E8 48 88 92 67 6E B9 E7 79 ....Gz..H..gn..y -2368: 32 2E FF 78 B2 FD DD B6 7A 6F 50 42 85 94 F3 EC 2..x....zoPB.... -2384: 28 A0 ED 99 95 7F 62 CC C2 E7 E1 1E D1 8F 73 38 (.....b.......s8 -2400: BD CE A3 EC 88 78 84 F0 DC A7 47 38 D9 9D 31 42 .....x....G8..1B -2416: 58 EF D3 23 9C FA 2D B5 D6 D2 41 7F 1E C5 14 B1 X..#..-...A..... -2432: 9D A3 BA 46 9C 47 2D 8D 58 90 08 55 41 8A 6F E0 ...F.G-.X..UA.o. -2448: 3F DF C9 EE 4A 64 24 D9 ED 96 3F 19 54 50 00 E5 ?...Jd$...?.TP.. -2464: A4 68 EC DA F2 81 D2 FE F2 98 40 34 81 55 44 22 .h........@4.UD" -2480: E9 56 71 61 84 56 DB 32 48 B7 8A C3 5F 8B 70 0B .Vqa.V.2H..._.p. -2496: F5 54 AB 31 C0 9B F5 5A C7 D9 59 C5 BA AC 76 C4 .T.1...Z..Y...v. -2512: 48 C8 B3 34 C6 DD F2 8B CC 7C 78 1C 95 24 9F 96 H..4.....|x..$.. -2528: DF A2 B7 73 28 1E 84 C7 D0 2C 02 64 BA 59 1C C8 ...s(....,.d.Y.. -2544: 9A D9 36 91 E9 66 71 22 EB 41 6E 21 99 6A 36 86 ..6..fq".An!.j6. -2560: 64 AB 6E EB 4C 3A B3 C8 2D 96 12 3F 8C C2 0A 26 d.n.L:..-..?...& -2576: 2D DC 42 B7 CC 25 E0 B3 EC D1 81 4C 8E 0C 64 A2 -.B..%.....L..d. -2592: 63 98 E8 F8 25 79 19 B9 CD D3 DD FA AB D3 01 75 c...%y.........u -2608: C5 9F 53 A5 8B 51 6C 4D 54 21 2B 5E F4 57 A1 38 ..S..QlMT!+^.W.8 -2624: 71 F8 1C D3 15 0B CD 2A A1 0A 59 B1 A2 BF 9A 6E q......*..Y....n -2640: 16 D3 55 ED 6A DD 94 55 2E 2B 5E 0E 55 26 9B C5 ..U.j..U.+^.U&.. -2656: 74 D5 08 32 29 64 C5 CB 71 CA 44 B3 B8 AE DA 75 t..2)d..q.D....u -2672: 9B C9 8A 17 FD 55 67 76 7B EA 02 B3 E5 2E BB 9F .....Ugv{....... -2688: 8D F3 EE 2A A2 2B 66 14 3E 47 87 CE 97 0B 74 82 ...*.+f.>G....t. -2704: 60 17 5D 0D D4 DF D5 B9 2A 84 39 96 A6 BA FD 16 `.].....*.9..... -2720: 4B BE CA 15 5F 1B 69 FA EB EE AA 5C 13 44 D7 8C K..._.i....\.D.. -2736: 16 8B BC CA 35 5E E9 46 03 45 E4 46 1B 57 2A 55 ....5^.F.E.F.W*U -2752: BE A2 C4 5D 69 9E FA 98 FE 3A BB 1A 35 0A 28 E6 ...]i....:..5.(. -2768: 7A 10 C5 6A 92 44 A3 35 35 E8 5C 0D 48 9D 7A 35 z..j.D.55.\.H.z5 -2784: 14 2B BA 9C 51 74 EC 86 8F 98 AC D4 20 09 11 3A .+..Qt.........: -2800: EB EB CE AA C4 67 58 16 B5 60 F3 EC 48 DD A8 6A .....gX..`..H..j -2816: 0C 4A F8 18 34 CE 03 60 E9 EC 67 C7 C0 7E 9B CF .J..4..`..g..~.. -2832: 1E EC E3 84 62 D7 8F A0 DA 83 7D 1C 56 34 FE 6D ....b.....}.V4.m -2848: 6A 93 ED C7 B8 8D D6 7F 1D 60 67 BF 4D 30 77 83 j........`g.M0w. -2864: 35 90 28 55 00 2B 6D 42 80 23 39 8A 39 61 3B 75 5.(U.+mB.#9.9a;u -2880: 45 87 94 00 4C F4 51 CA E7 F9 0B 11 04 81 14 22 E...L.Q........" -2896: D0 65 BE 02 1F 18 42 06 2A F3 21 7F 11 F8 40 48 .e....B.*.!...@H -2912: 21 04 55 26 2F 3D F8 80 49 21 16 07 A9 54 21 86 !.U&/=..I!...T!. -2928: 6A D2 B5 07 1F 30 39 44 EB 42 8A 42 10 D5 F4 6B j....09D.B.B...k -2944: B2 0F B8 24 3A 79 C8 44 A1 CB 1C C7 F9 D0 92 85 ...$:y.D........ -2960: 3A 82 14 87 B1 AA F3 20 89 65 3C 58 A2 8B AB 42 :........e......lK -3312: F3 F5 09 D1 3E 2F CC ED D8 1D D1 86 B3 0D 0B B7 ....>/.......... -3328: 95 F3 EC E8 BB 38 71 CC AD 9F 13 9F 0D 00 3A 78 .....8q.......:x -3344: 90 1D 03 0F 30 E4 7B F0 20 02 3D 16 03 0C FF 1E ....0.{...=..... -3360: 3C 88 08 00 AD 05 44 0A C9 1E 44 C5 10 E5 A0 21 <.....D...D....! -3376: 0B 2B 23 B2 60 23 E8 15 B4 64 21 A8 0E E7 CB F0 .+#.`#...d!..... -3392: FB BD DE 71 20 68 3A A0 24 E8 73 6A 95 2C 66 34 ...q.h:.$.sj.,f4 -3408: A4 14 85 12 68 99 C5 40 79 7F FD 83 52 09 A4 66 ....h..@y...R..f -3424: 58 58 51 08 80 94 79 4C BA 61 4C 00 F5 2B 86 F1 XXQ...yL.aL..+.. -3440: 87 82 7B 5A 66 32 E9 86 31 EE 1B A1 16 A6 C0 9D ..{Zf2..1....... -3456: 96 B9 4C AA 61 1C 77 A4 8E 33 CA 69 99 CD 38 C3 ..L.a.w..3.i..8. -3472: D8 AA 34 37 54 AF 83 7C 46 70 2D F2 91 CE FC 4F ..47T..|Fp-....O -3488: 30 62 5F AC EA 19 94 56 AD C4 3C 7F E1 17 44 17 0b_....V..<...D. -3504: 8B 96 A2 F8 6A 17 D3 5E 9C 8B 60 EC 3C CA 5F B4 ....j..^..`.<._. -3520: 3C 42 B9 EE CF A3 08 DF 5D 31 42 81 EF CF A3 08 ./*.P.{. -3728: 21 82 3D 1A 07 54 00 3D F8 10 51 00 5E 17 98 16 !.=..T.=..Q.^... -3744: 92 7D 88 8A 21 CE 43 53 16 CE 07 2C EB 37 6E CA .}..!.CS...,.7n. -3760: 8B 95 F3 B8 92 12 B6 B5 53 6B F8 93 BA EB 13 AE ........Sk...... -3776: 3B 3B B5 50 3E CC 5D 3F 30 8C F2 9F 6E 38 82 7F ;;.P>.]?0...n8.. -3792: 68 18 83 3E DD 70 84 F9 30 D4 18 E9 A9 86 A3 A0 h..>.p..0....... -3808: 37 EB B8 89 B7 33 DC 1C BC 21 30 78 43 ED 11 65 7....3...!0xC..e -3824: 23 4E E1 CE 3F 2A F8 AE 58 A7 D4 B3 DE B5 92 C7 #N..?*..X....... -3840: 88 27 95 BF 03 62 B3 AE FC DD 21 38 48 FE 1E 18 .'...b....!8H... -3856: C6 59 67 66 98 FC 3D 34 8C B2 CE CC 30 F9 7B 18 .Ygf..=4....0.{. -3872: 6A 94 75 66 86 C9 DF 9B 75 DC 62 9D 99 9D 59 57 j.uf....u.b...YW -3888: 24 1B CC 19 C7 F6 D0 63 84 4A 82 CC FA BA 4D 8A $......c.J....M. -3904: 90 59 5F 98 1E 53 3D AC 42 9E 0C AA 16 25 AA B5 .Y_..S=.B....%.. -3920: B9 88 58 94 E8 6F 81 4F 20 95 C0 2A A6 94 64 AB ..X..o.O...*..d. -3936: B8 4E 42 AB 88 4C 92 AD E2 22 09 23 8C 68 24 D1 .NB..L...".#.h$. -3952: 6A 4C 21 CD 7A 6D 08 44 09 5C 1E F4 48 8D 28 8C jL!.zm.D.\..H.(. -3968: 70 F2 51 A1 88 4A 1D C6 BA 96 A0 F8 33 F5 7F C5 p.Q..J......3... -3984: 16 48 30 C3 0D BA A3 0F D1 16 93 8A 16 D8 06 77 .H0............w -4000: 54 69 8B 6F 37 69 2D A5 98 64 18 84 57 0F 3E 2B Ti.o7i-..d..W.>+ -4016: 4C 9F 73 E5 73 4A 61 21 CA 7E 58 6E 52 7B 88 13 L.s.sJa!.~XnR{.. -4032: 93 12 57 03 CC 14 13 E7 89 3B C4 3C C1 E4 C5 D5 ..W......;.<.... -4048: 00 B3 C7 5B 63 82 49 8E AB 01 66 94 B7 D7 0E 22 ...[c.I...f...." -4064: 43 AE 06 98 65 BE 1F 27 0D 69 72 85 4B 93 3B 69 C...e..'.ir.K.;i -4080: 5A 4C 9A 9A 72 F1 90 6D 98 C1 A8 41 77 9B 24 72 ZL..r..m...Aw.$r -4096: 88 D5 4A 8A 8A 13 FD C8 6B 5B 45 B1 AB 1C 87 51 ..J.....k[E....Q -4112: 90 72 EB 5F 5E EC F3 CA 8A 6D 5E 37 50 DA 5F CB .r._^....m^7P._. -4128: C7 F3 FD A4 58 68 94 15 5B BB 16 1B BB F6 60 33 ....Xh..[.....`3 -4144: 10 66 6E B3 71 A5 8C E7 4F A4 B9 2B CD 77 74 55 .fn.q...O..+.wtU -4160: 3D EE AD 2C 50 AB 9C E5 0F A4 79 AB 5E 70 A9 56 =..,P.....y.^p.V -4176: 6B 82 13 F9 36 69 48 AD FA 4D B3 8A 6D 5C BD 55 k...6iH..M..m\.U -4192: 74 5E 4F FA 4D 81 CA 69 0B 2D A4 D9 BA 29 90 B1 t^O.M..i.-...).. -4208: 8F BE 54 3B C0 59 18 39 8B E3 0C A5 43 E0 1C 18 ..T;.Y.9....C... -4224: 6D E3 9C 6E 13 C7 39 34 DA C6 39 DD 2A 8E 73 2D m..n..94..9.*.s- -4240: BE 2D 9C 53 AD C6 70 6E D6 6A 1D 67 67 F5 3E CB .-.S..pn.j.gg.>. -4256: 59 0D 11 7C EB 6E 40 96 3E 7A 2F BE C4 99 3D 17 Y..|.n@.>z/...=. -4272: 9C 14 13 34 BC DC F8 B7 D8 F7 77 73 0C C5 FD F5 ...4......ws.... -4288: E1 0B 9E 69 68 95 15 BB FD 16 7B FD F6 61 14 03 ...ih.....{..a.. -4304: BA 76 AD 8C D3 02 E8 62 DD 51 0F 66 31 A2 EB 21 .v.....b.Q.f1..! -4320: A6 B6 20 BA 58 6C 94 6C 16 47 BA 5D B3 19 D2 C5 ....Xl.l.G.].... -4336: 0A 23 6F F6 3E 4B 2F 0C CD 37 BC 9F 55 1B 01 CD .#o.>K/..7..U... -4352: C6 83 32 C9 B9 9E 67 47 E3 F6 6D 89 C2 09 E5 10 ..2...gG..m..... -4368: B9 71 EF 74 3A FB FE 50 99 47 28 ED C1 3A 8E 29 .q.t:..P.G(..:.) -4384: 76 F9 18 AF 3D 38 80 03 8B C6 1F 21 37 D9 81 18 v...=8.....!7... -4400: BA 51 00 1A 0C 3B 07 6A 0C 53 60 98 BB 4D DA DC .Q...;.j.S`..M.. -4416: F4 71 41 B0 25 C2 6E BF 2B 3F FE D8 2A CF B7 81 .qA.%.n.+?..*... -4432: E5 F2 58 58 5B DE A9 A0 13 E5 C1 77 BB C1 E6 49 ..XX[......w...I -4448: 86 B5 EE 8E 21 E7 DF 6F 56 57 CB F9 DF 67 E7 85 ....!..oVW...g.. -4464: 17 7F EE 47 0A 2C 63 E1 58 87 8E 50 63 32 09 1C ...G.,c.X..Pc2.. -4480: 17 8F 09 E7 7E F4 23 80 DC 66 E3 EA A9 5F 7A 0F ....~.#..f..._z. -4496: DC BB AB CF 13 8F 64 AB B6 25 FA 56 CC 59 06 BB ......d..%.V.Y.. -4512: B7 9A 25 1E 89 56 6B A8 F3 0C 75 AC A6 1D E1 BE ..%..Vk...u..... -4528: A6 B3 C4 C3 5A 6C 02 D9 D4 B6 75 00 C0 B5 CD 36 ....Zl....u....6 -4544: 9D 0D D6 C5 8D 67 C3 22 2A 39 99 FB 23 B3 7E 1D .....g."*9..#.~. -4560: 53 0C 56 E9 9A 37 E7 CC 3E 70 75 4E B9 43 E8 53 S.V..7..>puN.C.S -4576: 9B DB D2 A5 DE C9 45 83 82 30 DC 87 07 38 C5 91 ......E..0...8.. -4592: 6A 69 F1 9C EE 41 8C E8 38 18 75 B6 25 9A 80 B8 ji...A..8.u.%... -4608: 85 FF 90 82 94 CF 3D C2 F8 23 EF 7E 92 45 09 43 ......=..#.~.E.C -4624: E9 A3 3F C9 12 2A 43 F1 E2 89 07 4C 0F 8A BB 11 ..?..*C....L.... -4640: B0 BD A8 A1 72 04 11 41 E6 47 FF 12 08 8C 22 E0 ....r..A.G....". -4656: 27 5B 8D 60 1F C6 BC 0D 7B A2 D5 28 EA 8D 9A 6E '[.`....{..(...n -4672: 00 AE F8 3D 9E D5 52 84 4B 96 3F D2 D2 F5 44 0B ...=..R.K.?...D. -4688: DD F5 89 96 41 19 A7 86 F0 79 FE 82 55 59 6A 1B ....A....y..UYj. -4704: 77 F7 41 F7 30 C5 5E 80 F7 5E 65 C7 CA A9 36 FA w.A.0.^..^e...6. -4720: A5 4F BD C3 8F 87 05 D1 41 1F 2E E0 4A 88 D5 4C .O......A...J..L -4736: 4B 14 E9 2E C4 64 D1 01 47 5D 21 DE 85 B8 44 78 K....d..G]!...Dx -4752: 29 11 CD C2 5D 69 1B 1B D2 0E 0A 3A A3 5A CC F3 )...]i.....:.Z.. -4768: 17 BC D8 45 34 06 3B CB 56 57 65 5E ED 03 78 EF ...E4.;.VWe^..x. -4784: 5D 76 AC 3B D7 86 BE E6 5B EF E0 C7 C3 84 C0 DF ]v.;....[....... -4800: 97 2B B8 00 BA 6A AC 25 82 7E 5C 89 09 61 0B 3C .+...j.%.~\..a.< -4816: 75 31 30 7C 59 DC 11 1D B1 11 23 A5 14 0C 31 5B u10|Y.....#...1[ -4832: 17 C5 D9 C7 5F 0A 1D 4A 08 06 91 8A 05 53 98 68 ...._..J.....S.h -4848: 98 DB 24 6C BA 1F BD 04 AE 20 12 C9 3D E9 5F 1D ..$l........=._. -4864: A1 59 44 0F E9 76 23 52 A8 45 BE 0D 7F AA DD 28 .YD..v#R.E.....( -4880: F7 CD 1A 6F 90 CE 22 3B B4 41 EA 2F 47 BC 58 28 ...o..";.A./G.X( -4896: A4 28 F1 B3 43 30 F4 38 99 8D 8B FF 27 EE FF AE .(..C0.8....'... -4912: BE C0 8E 0B 42 5B E7 1E 56 0B 92 D8 79 FE C2 8D ....B[..V...y... -4928: 6D 4D 67 E3 A9 FB 7F 9C FF 1F 15 09 7C 0F C6 1F mMg.........|... -4944: 5A BE EE 45 34 CE E7 EC 18 75 19 11 53 C4 E3 FE Z..E4....u..S... -4960: C5 75 9F 90 62 AA EB DF C1 88 0A EF 57 E7 6D 79 .u..b.......W.my -4976: F6 ED 60 54 AE F7 86 B2 A1 63 E7 20 B6 9B 2F AD ..`T.....c..../. -4992: ED 30 AD 28 E3 5B A7 C5 24 E1 4F 69 00 96 29 C3 .0.(.[..$.Oi..). -5008: 3B 46 60 5D F1 BE 86 60 43 57 10 99 E5 9E F4 2F ;F`]...`CW...../ -5024: AB D0 2C A2 9E 74 BB 11 B5 D4 22 DF 16 45 AA DD ..,..t...."..E.. -5040: A8 08 9A 35 DE 60 DD D9 45 77 15 95 B5 F9 32 C5 ...5.`..Ew....2. -5056: 89 D8 FA 28 BE A4 EC 29 25 68 02 66 3F 3A 12 34 ...(...)%h.f?:.4 -5072: 57 BC AF 04 2D 74 05 99 70 C8 3D E9 7F C6 21 34 W...-t..p.=...!4 -5088: 8B 4C 39 A4 DB 8D CC 39 D4 22 DF 9E 74 48 B5 1B .L9....9."..tH.. -5104: 9D 75 68 D6 78 63 DA C1 D9 6D C1 AE DD 43 C7 22 .uh.xc...m...C." -5120: 44 9D 52 1D 8E 5C ED 61 DC 49 48 65 E6 F9 0B DD D.R..\.a.IHe.... -5136: 35 EE E4 3E B8 B7 71 27 EF 55 76 D4 1D E3 4E A5 5..>..q'.Uv...N. -5152: 4F FD F3 8B 86 05 23 B9 07 17 22 28 47 6A A6 0D O.....#..."(Gj.. -5168: 75 B2 0B 51 AA E3 70 34 F8 76 2E 60 9B 2E 52 E2 u..Q..p4.v.`..R. -5184: 9E CC E4 A2 24 5C 2A B5 6D 2B 51 49 D5 A3 AF 4F ....$\*.m+QI...O -5200: 2B 15 22 9E 0B AA 75 B9 0A 51 E8 42 17 A2 5C D1 +."...u..Q.B..\. -5216: 03 E5 6E 09 D5 5E 26 20 08 2D 7F 6A 1E 99 81 80 ..n..^&..-.j.... -5232: D2 FE 16 AE 95 6A A8 87 80 4A 5E 68 40 94 0B 7D .....j...J^h@..} -5248: F2 10 F4 AC 81 66 EC 69 41 BE 28 97 FA A4 1A C6 .....f.iA.(..... -5264: C9 47 2A 3D E3 5D 94 8B 7D 9C E1 7B CC 45 08 2A .G*=.]..}..{.E.* -5280: D4 B6 7D E3 24 B5 4F 67 B6 4D 3C E7 D2 EA 6A 12 ..}.$.Og.M<...j. -5296: A6 CD BB 2B DF DB 84 9B B4 AA 63 C6 0D 4A 07 98 ...+......c..J.. -5312: 72 AB 87 00 E3 BD 08 41 EF BC D7 63 DF E6 3D D9 r......A...c..=. -5328: 70 8C F7 56 A5 37 78 F7 86 A3 3B A8 97 3F 4A AA p..V.7x...;..?J. -5344: 04 57 DB 93 75 46 9F 4E B2 2E DC DA 28 5B A5 6E .W..uF.N....([.n -5360: 08 EF 50 BE AF 6C 5D 1A DA 91 AD BB D2 01 B2 F5 ..P..l]......... -5376: 7A 08 50 DE F3 10 F4 CF 7B 2D F6 08 EF A9 86 A3 z.P.....{-...... -5392: BC 37 2B BD C9 BB 33 8C ED 34 A1 46 4C 84 BC 6B .7+...3..4.FL..k -5408: 6E B7 6E 13 64 E4 D3 19 89 81 4B 27 44 54 FD 72 n.n.d.....K'DT.r -5424: 84 77 28 DF D7 50 8C A2 A6 63 39 9C 2B 1D 60 28 .w(..P...c9.+.`( -5440: A6 1E 02 94 F7 3C 04 FD F3 5E 8B 3D C2 7B AA E1 .....<...^.=.{.. -5456: 28 EF CD 4A 6F F2 EE 0C A3 4F 6F 55 CF 98 8C 0A (..Jo....OoU.... -5472: E0 2B F8 05 71 C9 FC B4 78 CA 7E 2F F0 D2 79 FE .+..q...x.~/..y. -5488: 82 B9 07 45 27 5D 1C D3 FD 71 6C D9 3C 3B D2 CA ...E']...ql.<;.. -5504: 2B 8C 68 4B 87 22 1A 8B 4B 04 6E 3A 14 DC 78 DD +.hK."..K.n:..x. -5520: A0 9C D3 A1 38 8F F2 D1 46 3E F2 4C 95 1A F1 70 ....8...F>.L...p -5536: B4 1D 30 F7 A3 ED B3 61 7F CF 31 A0 1C 22 EC 9E ..0....a..1..".. -5552: BB 8C DF A3 DD 07 F6 D5 E7 04 66 45 E9 0C 8A B4 ..........fE.... -5568: 18 A4 D3 59 0B 02 06 72 11 84 DE 41 6E 84 BF 8D ...Y...r...An... -5584: 6F B2 E5 18 BE ED 8A 6F 40 EB 2D 3F E0 3E 6D BB o......o@.-?.>m. -5600: 7F EA 02 A6 79 D9 E3 EF FB 53 57 80 98 76 24 E5 ....y....SW..v$. -5616: AE 7C 5F 49 39 10 6E A7 AF 3A 6E E9 76 90 A4 3C .|_I9.n..:n.v..< -5632: 0C 41 04 7F 31 48 52 5E 8F 3D 4A BF 18 24 29 6F .A..1HR^.=J..$)o -5648: 55 7A 1B FE 87 24 29 92 74 6F 04 E4 E0 7F 42 0F Uz...$).to....B. -5664: AB F8 38 F0 D9 AB CE BB FF DE 26 4B 15 23 64 16 ..8.......&K.#d. -5680: CF D0 A1 74 90 7C 26 0C 41 04 7E 3E 48 12 53 8F ...t.|&.A.~>H.S. -5696: 3D 0A 3F 1F 24 73 69 55 7A 1B 7E FE 10 F8 B3 5D =.?.$siUz.~....] -5712: B0 C6 D3 E9 B4 7A 92 05 FE 31 34 C0 59 16 06 2F .....z...14.Y../ -5728: DC 7A D5 C9 A4 F3 4E CE 60 48 CB B9 B4 27 9E B3 .z....N.`H...'.. -5744: 4C 9D 11 1A 78 86 A2 5D F8 35 04 DD 68 7C 22 A4 L...x..].5..h|". -5760: F7 E0 47 14 F6 48 3D A1 E0 27 FB D1 C1 7E 9C 97 ..G..H=..'...~.. -5776: B6 0E D8 43 74 C0 B7 0D D3 98 5D 87 E1 07 6F 04 ...Ct.....]...o. -5792: C8 B4 BB 11 20 7B 6C 04 3A 56 CC B8 D2 A1 1A 01 .....{l.:V...... -5808: 32 ED 6E 04 C8 50 8D 00 99 76 37 02 64 A8 46 80 2.n..P...v7.d.F. -5824: 4C BB 1B 01 12 85 3F 7F CE 1C 83 5F 66 C3 34 E3 L.....?...._f.4. -5840: F1 64 6F 23 35 50 A9 3C D7 B4 D1 D0 A7 99 BA 3D .do#5P.<.......= -5856: 84 3A 68 36 7B 4C 69 28 C9 9B 00 55 73 0C 45 5B .:h6{Li(...Us.E[ -5872: 0D 84 76 2C 3A 38 E8 66 A8 6C 27 5E 49 18 F6 66 ..v,:8.f.l'^I..f -5888: A8 DC A7 93 95 96 08 0C DF 59 04 52 6B B5 7D 62 .........Y.Rk.}b -5904: 4A 3C A5 3E 30 B5 D5 4F D4 63 9A 71 E5 FB EA 03 J<.>0..O.c.q.... -5920: 6B C6 54 7C 62 CA 95 0E D2 07 0E 43 80 09 A3 08 k.T|b......C.... -5936: 41 EF C2 A8 C7 BE 2D 85 64 C3 31 29 B4 2A BD 01 A.....-.d.1).*.. -5952: BF 37 DC 1A B5 64 FC 88 8A 11 07 F2 CB 95 36 4A .7...d........6J -5968: 10 BD 75 0F 74 AD F5 E3 EF 81 1E 22 CF B9 9C E7 ..u.t......".... -5984: 2F 54 B9 E7 35 0A 3F 77 1B DF 4D F6 D3 62 C0 0C /T..5.?w..M..b.. -6000: 9E 5F 8E 06 47 5D 7A 85 C8 C0 B8 C7 3F 26 03 34 ._..G]z.....?&.4 -6016: 17 78 5C 50 45 14 71 E9 5F 12 91 BA 41 C4 91 EC .x\PE.q._...A... -6032: 43 54 1D 71 3E 9A 3A E1 5C A1 4F C3 9B 11 35 23 CT.q>.:.\.O...5# -6048: 5E 3E 09 A9 89 1F 1E EA 5E A0 C3 9F D0 E3 F0 E2 ^>......^....... -6064: B9 B2 BC 6B 7D 8E B2 7B 7B 1E DE 48 42 E2 CB 73 ...k}..{{..HB..s -6080: 5C E9 20 CB 73 82 00 60 12 C8 03 D0 BB 00 6A 71 \...s..`......jq -6096: 6F 53 9F 6A 36 C6 7C B3 BA 1B A0 2B CB B1 95 C5 oS.j6.|....+.... -6112: 6E A1 02 0F 9A 03 18 08 32 E1 1E D1 7B 98 C4 62 n.......2...{..b -6128: D5 4E BE 68 CA CF C4 7E A6 B0 CC 73 23 A9 2C 7D .N.h...~...s#.,} -6144: A1 46 E7 A0 9A F2 77 D9 A1 7C 98 39 AC 20 06 68 .F....w..|.9...h -6160: 62 CF C4 30 33 58 B5 D8 23 99 3C 13 C3 CC 5F 35 b..03X..#.<..._5 -6176: EB BC 99 BA 33 11 5F 35 C9 CB 55 35 06 BA 5D DB ....3._5..U5..]. -6192: 76 B1 94 5C 3F FA 2A 61 96 D1 6E E8 B1 A0 A4 D8 v..\?.*a..n..... -6208: EE 90 DA 7C 0B 65 53 EC A0 0C 85 FB 22 5D 1B B7 ...|.eS....."].. -6224: BF FC 34 06 BA 2B EE 0F 74 9A 99 6D 5C 3E C9 77 ..4..+..t..m\>.w -6240: 4B 36 C5 66 C9 F9 E5 F7 03 39 43 6D 9A 7C 5F 64 K6.f.....9Cm.|_d -6256: 53 6C 8B 9C 6A B3 06 38 CB 00 47 AA D9 E1 6D 8A Sl..j..8..G...m. -6272: 0D 90 9D CD C8 06 C8 D6 FD 10 4B B6 73 BF 87 3B ..........K.s..; -6288: 00 DD 6C FF A1 22 62 1E 3F 49 0F 51 E7 73 7F 60 ..l.."b.?I.Q.s.` -6304: 55 22 8A 20 CF F7 94 9D 7B E6 E5 3C 3B 06 B9 31 U"......{..<;..1 -6320: 0A BF EA 31 3D 0F E9 6F 47 04 51 01 EF 31 2F 67 ...1=..oG.Q..1/g -6336: 9D C6 11 39 F0 1E 13 F2 50 0F 38 0B 0D 5D F0 1D ...9....P.8..].. -6352: 75 01 15 C7 EC B6 DF A7 93 BB FE 7E D7 74 48 55 u..........~.tHU -6368: 30 C1 CB 9F 2E 6B CB C1 95 EE 67 A8 C6 3C 97 86 0....k....g..<.. -6384: C8 D2 93 B6 0A 5C 71 7F 63 35 95 08 6A 01 68 D1 .....\q.c5..j.h. -6400: 5F 04 A0 6F FA 6B 56 5B D8 27 5B 8D 60 DF AA EC _..o.kV[.'[.`... -6416: 1A EF DE 2A 96 92 6B BF 76 98 54 90 6B BD F5 29 ...*..k.v.T.k..) -6432: 6E A1 1F 7D 52 2A 84 DC D0 72 42 06 81 DC EC 69 n..}R*...rB....i -6448: C1 25 40 AE A5 AE 66 A4 DA 90 43 71 7F E3 F6 21 .%@...f...Cq...! -6464: E4 41 00 10 C8 4D 8F 2B 2B 19 6E 15 81 DC F4 B8 .A...M.++.n..... -6480: 96 32 84 BC 51 D9 0D C8 0D 45 B7 2A E0 FE 96 6E .2..Q....E.*...n -6496: 4A C8 85 E2 5B C7 57 E4 E3 8F AF 04 90 2B 55 3D J...[.W......+U= -6512: FC D3 86 5C A9 3D 3D FD 04 90 4B 4D AB E1 95 36 ...\.==...KM...6 -6528: E4 50 DC DF F8 4A 00 79 18 80 36 E4 79 00 7A 87 .P...J.y..6.y.z. -6544: 3C B4 DA 86 3C D5 6A 0C F2 66 65 D7 21 57 D8 60 <...<.j..fe.!W.` -6560: 3B 95 9E 72 13 52 AE FC 63 AD 93 6E CA D9 53 A2 ;..r.R..c..n..S. -6576: DC 68 98 69 8E 52 0E A5 7B A3 1C F8 9A 76 50 CE .h.i.R..{....vP. -6592: DD D3 CD 03 50 1E 06 A0 4D 79 1E 80 DE 29 0F AD ....P...My...).. -6608: B6 29 4F B5 1A A3 BC 59 D9 75 CA 9D 55 6C 54 46 .)O....Y.u..UlTF -6624: B8 DD A3 CA 4D 03 35 D1 7A 7B 67 55 DB 27 30 A3 ....M.5.z{gU.'0. -6640: 14 60 EE 66 96 B3 63 57 77 35 9B D9 DE 53 7F 55 .`.f..cWw5...S.U -6656: 32 E9 FB AB 70 EC EC AF BA F2 41 FA AB 78 50 DA 2...p.....A..xP. -6672: 1A 28 82 D2 BB 08 50 FB 6D 35 24 DB 8F C9 21 0A .(....P.m5$...!. -6688: 45 5D 17 D6 E0 9B 69 4A B7 5B 38 2D 86 D6 35 65 E]....iJ.[8-..5e -6704: D6 A7 38 C5 DA 82 C1 FB 9A 5C 58 53 0D 2B B7 60 ..8......\XS.+.` -6720: 76 C5 FB EA 6C BA 47 C0 BA 46 D6 5D F9 10 BD CD v...l.G..F.].... -6736: 7A 08 5A E8 16 21 E8 9B DC BA D9 16 B1 C9 66 23 z.Z..!........f# -6752: C0 B6 2B BC 06 AA 37 8B CD 75 BA DD 37 82 27 99 ..+...7..u..7.'. -6768: E0 F4 56 6E 4F C6 1F 7F 37 82 02 75 F2 1C A4 65 ..VnO...7..u...e -6784: AB FC 8C E7 A4 93 6A D9 18 B7 FB CA 53 6A AE B4 ......j.....Sj.. -6800: 49 2F 5C E9 97 F4 7A 04 AC CD 39 27 D5 CA B0 64 I/\...z...9'...d -6816: AB 08 E8 A4 75 B1 19 E7 A4 5A 09 96 68 16 05 1D ....u....Z..h... -6832: A9 6E CF 39 A9 56 7E 71 8B EE 19 66 3C E7 BA E4 .n.9.V~q...f<... -6848: 9C 0B B3 75 97 19 45 9F CC FC 11 5C B8 32 D5 C6 ...u..E....\.2.. -6864: 2E 08 E7 50 BC AF 29 A4 9A 2B 08 E7 B9 2B BD 73 ...P..)..+...+.s -6880: 1E 98 45 38 4F B7 8A 73 DE B8 D8 26 E7 A9 66 63 ..E8O..s...&..fc -6896: 9C 37 AB BB C1 B9 33 DB E6 DC B8 7E A7 FB 09 E8 .7....3....~.... -6912: 00 74 FF 43 25 D3 6E D0 D9 93 02 5D CA 49 17 E8 .t.C%.n....].I.. -6928: 52 EE 0F F4 C0 15 0C 74 29 87 01 BD 32 8B 81 2E R......t)...2... -6944: E5 30 A0 D7 2F B6 05 BA 94 C3 80 DE A8 EE 26 E8 .0../.........&. -6960: 12 FB 21 40 EB 57 33 F2 10 74 98 EE DF BA 22 40 ..!@.W3..t...."@ -6976: 89 A7 04 BA B0 7A D6 01 BA B0 7A 6F A0 87 AE 20 .....z....zo.... -6992: A0 E7 AE F4 0E 7A 60 16 01 3D DD 2A 0E 7A E3 62 .....z`..=.*.z.b -7008: 9B A0 A7 9A 8D 81 DE AC EE 06 E8 02 DD 3F 49 1C .............?I. -7024: B9 75 2F 3C 48 D1 45 36 C8 D2 9D A2 2B F9 84 52 .u/..w.].....N!..Z -7984: ED D3 3C BE 99 79 43 AC 44 55 11 25 51 81 AA 0C ..<..yC.DU.%Q... -8000: F2 EE D7 EB 8D 14 DD 5C 6E AE 37 57 B1 B6 CF EE .......\n.7W.... -8016: BA EE 7E AB 57 1F EA 87 8F 1B F8 09 2B 7A 35 2D ..~.W.......+z5- -8032: 90 50 A1 9A 0B 34 8C 82 0C 31 11 47 0A 6A 42 8E .P...4...1.G.jB. -8048: 80 20 DE 31 08 43 4C 0E 88 37 48 0E 8E 54 26 C8 ...1.CL..7H..T&. -8064: 98 5A 6C 02 CD 93 07 82 14 1B C2 A4 05 B9 DA EC .Zl............. -8080: FA FB FB 6F 87 E3 D3 CD FD E7 A7 FD D3 FB 4F DB ...o..........O. -8096: 4F 00 C0 8C C8 7E 49 3F 3F FF F4 F5 F6 FE AF B8 O....~I??....... -8112: BD FD BC FF 76 F3 F0 70 F8 72 D8 DF 3C 1E EE 8E ....v..p.r..<... -8128: EF E3 CB DD FE D0 EF 2F 8E 77 8F 17 5F EE FE 3E ......./.w.._..> -8144: FE 79 46 00 83 40 F1 8A C9 BC 49 E4 D8 29 07 7D .yF..@....I..).} -8160: 1F 32 00 26 22 B8 E4 55 06 BF DC 1E 0F 5F 8F DF .2.&"..U....._.. -8176: 0B 49 29 B4 F5 5A D0 7A 32 08 19 BB 4C D7 57 BB .I)..Z.z2...L.W. -8192: A5 7C 40 53 08 12 69 5C 5D 3B 8A A4 C4 9B DB C0 .|@S..i\];...... -8208: BD C4 CC 81 72 32 21 A9 B1 F4 0C 92 72 4B FB 6E ....r2!.....rK.n -8224: 94 F6 82 52 52 E6 B8 96 DC 30 59 8C 3A B9 DD 32 ...RR....0Y.:..2 -8240: C6 48 2C 69 6E 22 16 39 03 2D 06 C2 20 65 92 32 .H,in".9.-...e.2 -8256: C1 29 C8 BA F2 DB 41 24 C1 92 B8 15 72 B1 32 83 .)....A$....r.2. -8272: 7C AD 92 2D 0B 25 D1 12 20 C2 33 D0 68 4F 51 EE |..-.%....3.hOQ. -8288: 29 23 9E 80 3C AF D2 33 D6 94 21 57 07 9E E9 15 )#..<..3..!W.... -8304: 58 A3 A7 1E 8A 9B 05 BD 90 70 06 E5 21 BD 20 E5 X........p..!... -8320: CC 89 22 4D 0E F6 8C 91 31 BB B6 13 F1 84 12 EC .."M....1....... -8336: 10 E7 2D 95 B2 2A 1E 83 27 81 28 A2 82 53 41 BC ..-..*..'.(..SA. -8352: C6 3B B2 61 22 E3 2A 51 71 13 08 79 0C 82 2A 22 .;.a".*Qq..y..*" -8368: 39 61 D6 00 F9 24 9E 66 5C 05 05 BF BE 27 F1 B9 9a...$.f\....'.. -8384: 5E 35 E7 B1 1D 62 BC 4B 25 85 8F 84 61 71 07 31 ^5...b.K%...aq.1 -8400: 67 5E 53 DC 10 C3 42 2D A4 9F 14 67 2E 78 D2 4C g^S...B-...g.x.L -8416: 2F 8D 42 0B 71 58 15 BE C5 28 7A 4C 0E EB 2D 61 /.B.qX...(zL..-a -8432: A8 CD F3 61 8A 69 2C 27 E6 74 C6 B3 7E FC 7D 83 ...a.i,'.t..~.}. -8448: FF 44 DB 73 85 C4 24 52 A7 C5 A6 0C 70 CC 80 55 .D.s..$R....p..U -8464: 67 15 78 85 B3 BE A4 FB 5F 68 6D A1 E3 6F EA B4 g.x....._hm..o.. -8480: CC A1 55 D0 17 9D 6A AE CD C2 CA 89 A1 16 01 EE ..U...j......... -8496: 73 20 67 5B B4 AA EE 6E 39 6C D4 BD 55 B3 4B 0F s.g[...n9l..U.K. -8512: E3 31 74 C6 2D D0 6D 23 0A 13 28 5A C0 7A E6 DD .1t.-.m#..(Z.z.. -8528: 75 3C 70 B4 E4 D0 E6 6D 59 EC 3C A9 69 52 DC 6B u"..5 -8560: 4F 18 75 58 73 7B 92 14 3D 14 FD 23 8E E7 A0 45 O.uXs{..=..#...E -8576: 9F 6B 2F 87 77 13 9F 80 62 5A AC 99 23 1B 72 D2 .k/.w...bZ..#.r. -8592: 96 E1 C9 85 03 A4 A7 A0 EF CA A8 90 DF DE 0C 2D ...............- -8608: A8 40 74 AD 43 E5 D9 1F 5A D4 55 1F 67 A5 70 95 .@t.C...Z.U.g.p. -8624: DE 08 E6 CF A8 B2 8E 72 4E 53 0D 97 F9 58 E0 79 .......rNS...X.y -8640: DC EE A0 22 68 3F 74 2E 40 8B 8A A6 12 15 CD 7A ..."h?t.@......z -8656: 1E 74 BB 2C AB D9 6B 64 FD E3 B8 BF BD 7F BC 39 .t.,..kd.......9 -8672: 1C 2F 1E 22 78 7F 1E 4F 5E 6C 5D 20 82 67 8A 43 ./."x..O^l]..g.C -8688: DC 29 89 3E CC 87 A5 27 49 55 C3 A7 54 6D C2 94 .).>...'IU..Tm.. -8704: DE F2 BB D1 01 40 C5 E2 40 93 2D 06 20 4C 28 99 .....@..@.-..L(. -8720: 1A 63 B9 19 31 8E BC 85 7E 4C E3 64 CA E1 E2 CA .c..1...~L.d.... -8736: 53 35 28 50 1E E5 35 0E 6A 1C 27 80 FF 51 62 8A S5(P..5.j.'..Qb. -8752: 46 35 4A 6A 31 54 0B 99 BD FB 17 1C BA 0D 2C D7 F5Jj1T........,. -8768: 0B 00 00 1F 8B 08 04 00 00 00 00 00 FF 06 00 42 ...............B -8784: 43 02 00 1B 00 03 00 00 00 00 00 00 00 00 00 C.............. +0016: F8 1D CD 9D 5B 73 DB 38 9A 86 AF 3D BF C2 95 AE ....[s.8...=.... +0032: 9A B9 88 ED E0 7C 50 D6 BD A5 91 D3 EA 54 E5 34 .....|P......T.4 +0048: 8E A6 67 F7 4A A5 76 94 C4 35 B1 9C B5 9D DE CE ..g.J.v..5...... +0064: 96 7E FC 7E 20 41 12 24 3E 50 91 0C CA 4E 57 9A .~.~.A.$>P...NW. +0080: 8A 20 F1 FD 08 BC 0F 71 24 F4 D3 4F 1F 2F BF 2C .......q$..O./., +0096: 3F 5E DF 5C 2D EE 4E 7F 9B FC F2 87 38 11 7F F9 ?^.\-.N.....8... +0112: E9 A7 97 6F 7E 79 7B FA 1F 2F CF 4E 3F AD AE AF ...o~y{../.N?... +0128: 16 1F E6 CB 3F AF AF 96 B7 F3 C5 EA E8 CD B7 AB ....?........... +0144: DF 97 37 A7 F4 68 F6 FD EB F2 F4 E5 EA 6E F9 69 ..7..h.......n.i +0160: 79 73 74 B6 BC BD B8 B9 FC 7A 77 79 BD 3A 7D 52 yst......zwy.:}R +0176: 7E E4 F0 FA E3 E1 E2 CB 97 E5 97 E5 ED E1 E5 EA ~............... +0192: D0 9D 68 7C 76 58 9E E8 C9 CF 69 8D CF D7 57 DB ..h|vX....i...W. +0208: 89 C0 17 4E 40 E9 EE E4 F0 62 71 73 73 B9 BC D9 ...N@....bqss... +0224: 52 6F 79 B7 A5 DE F2 EE 7E 7A 57 97 DB 0A 5E 5D Roy.....~zW...^] +0240: EE A4 F8 69 B9 CA 54 6C FE 4C BD 2A 79 0B EE 87 ...i..Tl.L.*y... +0256: 14 B3 16 DD 8F 29 E6 2D BC 3E CD AB BB 0F AB 45 .....).-.>.....E +0272: 86 B2 7B 3D EB 39 7D DE 42 EB 97 CA 5A 5A 1B A4 ..{=.9}.B...ZZ.. +0288: F2 16 53 57 EC F3 F2 CB E5 9F F7 29 9A 5F DD 09 ..SW.......)._.. +0304: 5E DF 9D FD 8E 9D 37 53 99 F4 6B E4 29 8C 84 C6 ^.....7S..k.)... +0320: F8 CD 9B EA EC 27 E5 D9 DF DF DD 5C AE 3E B5 4F .....'.....\.>.O +0336: FE CB B7 D5 85 7B B5 F8 72 B8 58 AD AE EF 16 EE .....{..r.X..... +0352: 1F B7 A3 C3 BF 8D 8B 8C 3A 5C 1F 8E EB B7 5B FF ........:\....[. +0368: 98 BF BC FA BA B8 B8 83 F7 A6 CB D5 72 FE 66 71 ............r.fq +0384: B5 AC 5E BF 3C 83 57 BF 2C 17 77 DF 6E 96 73 A7 ..^.<.W.,.w.n.s. +0400: 1C FC B3 48 9B DD 2C 56 65 0C F3 BF 5F 5E FB 4F ...H..,Ve..._^.O +0416: 9C 2F 56 FF 86 C3 AF D3 DF DE 9F 5C 54 2F BE C2 ./V........\T/.. +0432: 8B 8B B3 37 E3 93 AF D7 B7 87 CF CA 97 5F 96 AB ...7........._.. +0448: 4F 77 9F 21 61 72 F6 DE BF EF 5E D5 6F 8F AB 4F Ow.!ar....^.o..O +0464: 8F 83 CF 9E 5D DE DE 2D 56 17 4E 08 B2 61 B1 FA ....]..-V.N..a.. +0480: 00 2F 5E 9C 9F BF 3D 7F 0F 1F FC D7 F8 FC CD CB ./^...=......... +0496: 37 53 F7 D2 65 DF DF 8A 8C FC E5 E5 AB D9 8B F3 7S..e........... +0512: 22 2B DF 8D DF BF 6F 67 1B E4 CE 21 54 DA 77 AE "+....og...!T.w. +0528: 08 BE 2E 6E 6F 97 1F CA EF BC 3D 7F 3D 9E 95 D9 ...no.....=.=... +0544: 7F 56 E5 FE 79 4F D9 9E 2F 17 1F 0E 3F 2C BF 42 .V..yO../...?,.B +0560: 8C 50 FF 1F 2E 17 17 9F BD 45 BB E7 3B 7B F7 23 .P.......E..;{.# +0576: 5E 69 CE D7 FD FE F4 1F 3F F2 FD C9 F5 EA C3 A5 ^i......?....... +0592: F7 83 BB 2F DE B9 B2 F9 9F 6F 8B 2F 97 77 DF A3 .../.....o./.w.. +0608: 33 CE 3A 67 C4 FC 35 F5 27 E9 7E F9 DD FB 1F 09 3.:g..5.'.~..... +0624: E7 DD E7 C5 ED F2 F0 76 79 57 7C FD E2 7A 75 77 .......vyW|..zuw +0640: F9 A9 F8 3A 3D 2A 4B F6 94 09 CB 24 51 8C 1E B9 ...:=*K....$Q... +0656: 52 B8 FA FD CB 77 D0 3C 9F 7C E6 FA C9 D1 ED D7 R....w.<.|...... +0672: E5 C5 E5 F2 F6 F4 C9 AF D7 57 D7 87 B7 8B AF 97 .........W...... +0688: CB D5 6D F7 4C AC 39 13 A7 D6 72 CD 77 3D 13 AF ..m.L.9...r.w=.. +0704: CE 44 AD 21 0C 4E 47 76 3D 93 68 CE 44 A9 14 4C .D.!.NGv=.h.D..L +0720: AB 5D CF 24 EB 33 19 62 A9 64 6A E7 98 54 7D 26 .].$.3.b.dj..T}& +0736: 4D 21 28 A2 F4 AE 67 D2 F5 99 A4 A5 DC 28 B5 73 M!(...g......(.s +0752: 8E 9B FA 4C 42 71 25 20 D3 77 3D 93 6D CE 44 19 ...LBq%..w=.m.D. +0768: E5 60 85 5D CF 44 49 7D 2A 2E 25 17 5A EC 9C 51 .`.].DI}*.%.Z..Q +0784: 94 06 A7 22 44 49 BA B3 0F 28 6B 4E C5 8D A4 C6 ..."DI...(kN.... +0800: CA 9D 4F D5 F8 9C 42 44 D6 68 B3 F3 A9 1A A3 13 ..O...BD.h...... +0816: CD 85 95 62 67 7B D2 C6 E9 84 49 4E B9 DD D9 0B ...bg{....IN.... +0832: B4 B6 BA 25 5C 0A 2D 77 F6 27 AD AD 6E 28 B5 92 ...%\.-w.'..n(.. +0848: D1 DD 2F AF B6 BA 36 44 6B 26 76 CF F3 DA EA 40 ../...6Dk&v....@ +0864: 1F 33 D6 EC 7C 75 AC 76 BA E2 90 E7 92 ED 7C 75 .3..|u.v......|u +0880: AC 36 BA 30 94 D9 7B 98 93 D5 3E 97 94 13 21 D5 .6.0..{...>...!. +0896: CE C4 FC 57 73 97 92 4C 13 B9 FB 9D F3 BF 9B 0C ...Ws..L........ +0912: 87 DA E5 1E 21 BD 9E D5 31 29 A9 EC 56 A7 71 23 ....!...1)..V.q# +0928: 0C 67 8B BB 25 94 1A 83 8C 61 14 DE 7B 3F 7E FD .g..%....a..{?~. +0944: EE D5 8B E2 D4 6F C6 E0 05 00 F9 FD F2 4F 68 13 .....o.......Oh. +0960: 2E AF 16 D0 00 39 82 36 D3 12 EA 5F 68 ED 7C FC .....9.6..._h.|. +0976: B8 BC B8 F3 6D 9C 77 2F CE 5E 4E CF 5F B4 BE E7 ....m.w/.^N._... +0992: DE FF F3 F8 8F C5 CD C7 CB DB CF C7 17 F0 A5 E3 ................ +1008: 6F DF 2E 3F 9C 12 FF E7 18 F9 5F F5 A7 F5 D5 3F o..?......_....? +1024: A0 41 E5 6A 7E 77 EE EA BD DB E5 0D BC 7D FC BF .A.j~w.......}.. +1040: D7 37 FF 86 F6 C1 6F FE 13 4F FE 3C F9 7E F2 7F .7....o..O.<.~.. +1056: 4F 7E 4E 7E FD FA E6 F2 13 84 02 8D A9 9B 23 D7 O~N~..........#. +1072: 3A 3D 7D 72 76 B3 80 36 CD 93 E6 14 EF FF 35 3A :=}rv..6......5: +1088: 24 FA 84 30 7A A2 98 38 E1 27 94 9C 88 A3 C3 5F $..0z..8.'....._ +1104: 5B 6F 3B 89 C9 AF E7 6F 5F 1F BC 7B FB FE E0 E5 [o;....o_..{.... +1120: D9 C1 F9 8B 5F 0E C6 AF 66 07 FF F8 E7 F8 D5 41 ...._...f......A +1136: D9 4A 3C 70 CD C6 83 B2 79 73 E0 F3 E4 2F 54 1F .J.. +1184: 49 4E 95 26 FA 79 34 B6 70 0A 8D 20 B8 7D 3E 8F IN.&.y4.p....}>. +1200: 87 03 C0 2B 50 31 3E 8F 7B ED A7 52 6A C2 9F 5F ...+P1>.{..Rj.._ +1216: 7C B9 5C 41 F6 CD FF B8 F8 03 C6 9E 7E 73 25 22 |.\A........~s%" +1232: A8 A1 E6 C4 E8 3A 0D DA 65 57 F0 72 39 BF F8 02 .....:..eW.r9... +1248: 9E BB FC 78 79 51 74 01 4E FF BE 5C 5D 7E 5A 3D ...xyQt.N..\]~Z= +1264: 87 9E C6 E9 64 7D 75 09 76 5C DD 2E E7 F0 8D CB ....d}u.v\...... +1280: C5 EA 6E FD FA ED D9 8B F3 F1 EC C5 FA EF E7 93 ..n............. +1296: 31 5D FF 3A 7D 33 19 51 4A C8 FA AE 6E FE AF DF 1].:}3.QJ...n... +1312: BC 9E 13 A2 99 85 11 AF F5 E4 FA 03 34 1F FF FA ............4... +1328: 7A B1 5A BE 87 06 F0 C5 DD 9A 92 67 8C AF 2F 4E z.Z........g../N +1344: E0 2E 6C C6 3F 4F D7 5F 4F 5E 7D BF A5 D4 F0 F1 ..l.?O._O^}..... +1360: CD A7 35 57 8A 3E D3 C4 98 B5 4B 7E 26 A5 65 6B ..5W.>....K~&.ek +1376: 97 F6 8C 1A 25 D6 64 7D 4C D7 47 F7 8C 4A D7 51 ....%.d}L.G..J.Q +1392: AD ED 33 C6 5C 24 82 E8 20 12 AE CA 48 88 8B 84 ..3.\$......H... +1408: 41 24 90 FC 4C 0A 49 D7 2E 0D 22 A1 BA 8E E4 72 A$..L.I..."....r +1424: 75 77 03 DD A6 20 8E 97 BF BC 7C 71 FE 23 71 98 uw........|q.#q. +1440: 13 1E C4 41 21 0E 6D CC B1 95 B4 0C E5 3F D7 50 ...A!.m......?.P +1456: 27 3C E3 CA B0 35 BC 0F 81 1A B2 5E 43 EA FD 85 '<...5.....^C... +1472: 6D 93 01 AE 2C 30 65 2B 41 D9 AA 52 D9 9D 26 50 m...,0e+A..R..&P +1488: BE 47 E6 73 42 DA DA A2 DF 07 D0 14 F1 3E 50 52 .G.sB........>PR +1504: 56 3E 30 B2 CC FD 83 E9 6C 34 3E 1B 9D BD 1B 4D V>0.....l4>....M +1520: FF 71 40 9E D1 91 39 A2 66 C4 D4 48 F0 9A 52 C1 .q@...9.f..H..R. +1536: E5 06 4A 39 43 29 25 12 A3 54 50 89 52 4A 09 67 ..J9C)%..TP.RJ.g +1552: 38 A5 54 48 9C 52 CA 75 8A 52 F9 A8 28 05 CF 97 8.TH.R.u.R..(... +1568: A5 33 FD F2 0D AE D3 4C BF 7C 5F 73 C6 94 A7 14 .3.....L.|_s.... +1584: 92 3D A5 90 36 28 A5 F0 1E AB 23 B1 96 16 81 50 .=..6(....#....P +1600: A5 4A 48 5D 6A 09 29 24 0D CC A8 EB DF F4 40 EA .JH]j.)$......@. +1616: 92 07 A3 B4 A5 1D 63 1A 68 67 E7 34 ED 84 82 D3 ......c.hg.4.... +1632: C2 09 05 A7 A5 13 92 9C 42 B7 85 8A 02 54 5D 83 ........B....T]. +1648: 6A B9 02 40 A7 07 E3 24 A8 4C 20 A0 0A A8 93 31 j..@...$.L.....1 +1664: 50 A5 15 29 50 D1 EA 94 31 CD 0D 0E 2A 34 A6 53 P..)P...1...*4.S +1680: A0 B2 13 63 B6 01 75 3C 24 A8 4C 51 36 F9 79 06 ...c..u<$.LQ6.y. +1696: C5 F3 EE E6 DA 68 FA 6A F9 6D CD 34 93 25 A7 2E .....h.j.m.4.%.. +1712: B5 E4 14 92 42 4C C7 D9 31 15 9A 36 71 30 51 C4 ....BL..1..6q0Q. +1728: A1 94 F4 98 42 6A 89 29 24 85 98 8E 73 63 AA 9F ....Bj.)$...sc.. +1744: 52 C3 64 19 89 C3 54 55 98 6A 8F E9 B1 4B BF BF R.d...TU.j...K.. +1760: 36 CA 69 47 DC 8A 8A 53 ED 39 0D C5 73 83 9A 76 6.iG...S.9..s..v +1776: 82 E3 B4 74 82 E3 B4 74 42 1A 53 7D 44 F9 88 93 ...t...tB.S}D... +1792: 00 53 C9 B8 06 3C C7 00 6A 0A 53 8A 61 4A 61 3C .S...<..j.S.aJa< +1808: 0F AF 4F 55 A2 D5 2B 14 5E 9F 12 A9 71 4C 89 C2 ..OU..+.^...qL.. +1824: 5A BD 14 7A B0 52 9C 18 BE 0D A6 D3 F5 ED F7 D5 Z..z.R.......... +1840: F5 EA FB D5 F5 B7 DB BA 4C 5E BD FD 57 06 46 E1 ........L^..W.F. +1856: 26 39 FB 79 E2 9A 3A CB 6F 5A D3 53 E0 01 30 28 &9.y..:.oZ.S..0( +1872: 09 85 B4 92 50 DD 26 F4 3E E1 20 78 52 4D 9A 10 ....P.&.>..xRM.. +1888: 98 80 10 60 90 CD C3 09 69 25 9C BA 0D E7 74 00 ...`....i%....t. +1904: 38 25 13 65 1C 09 38 21 FD FE DA 29 38 43 71 0C 8%.e..8!...)8Cq. +1920: CE 46 7C D7 BC C7 C9 4C 94 7F C1 65 51 FE 8E 4B .F|....L...eQ..K +1936: BD 81 4B 68 E7 D2 11 B3 23 A1 6A 2E 85 DA 54 7D ..Kh....#.j...T} +1952: 36 D5 5B C8 A5 22 0C EF 8D 5A BC FA 84 6B 4D F4 6.[.."...Z...kM. +1968: 46 19 49 F5 46 75 82 4B AE 4E 8C D8 AE FA 1C 8C F.I.Fu.K.N...... +1984: 4B 62 FC 1D F3 FD F2 46 59 07 05 8C EC 79 2E 21 Kb.....FY....y.! +2000: AD E4 12 12 DA 35 67 4E 2E A9 15 B4 09 41 68 17 .....5gN.....Ah. +2016: 02 F7 95 A6 4B 2B B9 84 84 A1 2B 4D 66 FB 2B 4D ....K+....+Mf.+M +2032: 48 1F AE D2 0C C5 31 2E 1B F1 BC 5C 26 CA BF E0 H.....1....\&... +2048: B2 28 7F C7 65 59 FE 69 2E E9 91 19 51 C0 B2 1E .(..eY.i....Q... +2064: 24 D2 94 B1 A2 BA 1C 4F 26 B3 82 4C 8C 04 F8 94 $......O&..L.... +2080: 3C 91 5B 81 00 A7 BB 4F EE E3 30 78 23 2A 4D 8F <.[....O..0x#*M. +2096: 99 50 F3 F2 28 2F 57 B7 E3 69 D9 DD D0 C6 57 55 .P..(/W..i....WU +2112: 4A FB 9A 0A 6E 5F 65 6F E3 BE 11 05 3C 98 D2 0E J...n_eo....<... +2128: 92 93 22 8C F2 D8 0A 83 F9 EA 0A 92 4A 2A B2 85 ..".........J*.. +2144: 11 20 E1 C3 48 E7 86 B2 A4 84 C3 E5 46 09 47 AE ....H.......F.G. +2160: 30 6C EB EE D0 1F 86 D6 A6 C4 A4 08 A3 C0 24 4F 0l............$O +2176: 18 2D 50 6C 79 9F DC E0 0D 87 4B E1 0D 47 4B 15 .-Ply.....K..GK. +2192: 46 4F FD 25 6B 50 14 11 05 28 93 04 25 0C 5A 84 FO.%kP...(..%.Z. +2208: 42 6F 47 C9 64 40 44 C8 53 26 ED EC E7 EA DA 79 BoG.d@D.S&.....y +2224: C5 05 F1 5C 1C 43 F2 FD 87 00 10 2A 98 6D 29 33 ...\.C.....*.m)3 +2240: EE 51 60 D6 A3 90 47 19 03 A1 75 CD CA D8 CA FD .Q`...G...u..... +2256: A4 AA 1A B2 28 63 DE 6F E7 B6 D6 95 E1 49 55 2F ....(c.o.....IU/ +2272: 64 50 C6 ED 1E 97 73 E9 71 E2 3D 5E 29 A3 63 1C dP....s.q.=^).c. +2288: 60 72 1E 74 9E 0C B4 92 C0 DC 93 83 59 9F C9 E1 `r.t........Y... +2304: FA B7 31 F9 00 F5 80 29 4D 0E 43 28 C7 8C C9 E9 ..1....)M.C(.... +2320: CF E3 F2 E2 61 9C AB 30 39 BC 5F DD FC 7D 0F 36 ....a..09._..}.6 +2336: D7 9D 5F 97 E5 2D 24 0F 85 5D 93 A7 F0 38 BC 5F .._..-$..]...8._ +2352: DD EE 73 08 07 16 F7 C2 9D 2B 56 30 9E 55 58 DC ..s......+V0.UX. +2368: 5D B1 BF C1 E7 10 B6 31 D5 DD AC A6 A5 C3 0B E1 ]......1........ +2384: F2 96 7E 7F E1 96 C1 4D 69 70 AC 8C 9D C1 8B 32 ..~....Mip.....2 +2400: 2E 6F E2 A5 70 EC 6F 71 A4 47 8C 8E 84 A8 ED CD .o..p.oq.G...... +2416: 2D 2F EC 3D 19 D7 7F 0A A3 17 F7 E2 E6 BD 41 0D -/.=..........A. +2432: 2B A4 9C 97 47 01 95 D3 AC FE 93 B2 30 7C BE BC +...G.......0|.. +2448: 71 E4 89 0F 37 B3 0B AA 3C 22 41 21 F6 CE 1C 14 q...7...<"A!.... +2464: 6E F4 DE 9C 42 AC 9F 39 28 1C 82 0D C5 17 61 91 n...B..9(.....a. +2480: 35 A8 14 20 9B 3D D5 46 C6 07 15 21 63 81 18 AA 5....=.F...!c... +2496: 82 EE 81 81 FF 8A 5E 7B 5F AB 47 92 ED 2A 84 C9 ......^{_.G..*.. +2512: A0 7C 81 41 27 55 6D 18 D3 04 A9 59 1B 3D 01 43 .|.A'Um....Y.=.C +2528: 81 30 42 4C 16 61 9C 93 50 38 A6 22 8B 30 CE 42 .0BL.a..P8.".0.B +2544: 2B AB 23 E7 67 10 4E F9 BD 5B C6 6D 77 7B 61 AC +.#.g.N..[.mw{a. +2560: F7 6B 47 8C 84 F6 96 C6 B8 0A A1 6A D5 0F EF 4E .kG........j...N +2576: 25 C9 87 E5 97 94 3B 21 75 28 77 06 C2 88 3B B3 %.....;!u(w...;. +2592: 08 E3 EE 0C 85 63 77 66 11 C6 DD D9 CA EA C8 9D .....cwf........ +2608: 19 84 53 EE EC 96 71 DB 9D 5E 18 B9 F7 52 52 8C ..S...q..^...RR. +2624: CD B0 CA 9D 16 EE AD 1B A6 32 F0 A5 01 C9 21 53 .........2....!S +2640: 8E 0C 99 A2 A3 A5 E8 48 29 79 9E B8 FF D3 ED 7A .......H)y.....z +2656: BD D3 01 09 E3 4F A9 D2 D5 B8 B9 26 AA 22 8C 57 .....O.....&.".W +2672: BD 5E 48 BE FF 98 3D 86 18 0B 95 95 50 15 62 AC .^H...=.....P.b. +2688: EA F5 66 51 C6 18 6B 5D B3 9B 3A F3 8C F1 7A 40 ..fQ..k]..:...z@ +2704: 34 87 32 06 59 27 B7 49 05 19 AF 47 43 EF AF 8C 4.2.Y'.I...GC... +2720: 53 16 97 73 49 19 AF 7A BD 5E 79 73 13 07 A6 F5 S..sI..z.^ys.... +2736: 5D A7 60 36 F6 9D 5E 04 33 66 14 3E 63 88 4E EC ].`6..^.3f.>c.N. +2752: 0B 74 66 62 1B CC 06 EA 35 6B 0F 89 30 C7 D2 D4 .tfb....5k..0... +2768: F7 E4 6A 31 5B BD 96 6D 2D 4D D6 3E B3 F2 84 10 ..j1[..m-M.>.... +2784: 1D CA 56 2B D7 EA 85 6B 59 64 03 3C BC 6C FB 6A ..V+...kYd.<.l.j +2800: A5 F2 4B 61 DC D5 FA F6 51 06 59 1B DD 0F 3A 99 ..Ka....Q.Y...:. +2816: 2C FD 2A 98 42 B6 6C 1D 99 AC BD 65 ED C1 88 CB ,.*.B.l....e.... +2832: B6 E0 A2 5A 9F E6 65 D1 B1 20 3E 62 B2 E1 42 12 ...Z..e...>b..B. +2848: 22 74 D9 59 9E 35 6D A3 61 5D A9 05 9B 97 47 EA "t.Y.5m.a]....G. +2864: C6 6D 53 FE 84 8F 95 55 F7 00 0E 75 21 94 C7 20 .mS....U...u!... +2880: 84 D8 AB 79 42 C0 DD 8A E5 02 E2 DB 3C 21 E0 CE ...yB........./.Hv.a^. +3376: 6E E9 74 38 DB B0 5E B7 72 5E 1E 8B 1E 52 DA F5 n.t8..^.r^...R.. +3392: B6 9A A5 9F 0D E0 7B 08 A2 3C 06 41 60 04 E4 09 ......{..<.A`... +3408: 22 C1 00 96 13 18 0D 79 82 48 F0 80 16 07 42 46 "......y.H....BF +3424: 8E 20 92 6C 24 3D D1 A1 C4 CA 34 25 6C 04 3D 8A ...l$=....4%l.=. +3440: 88 12 41 75 38 63 87 D7 06 7A CB 21 A6 E9 80 84 ..Au8c...z.!.... +3456: D0 A7 D4 2A 59 CD A3 48 29 2A 30 68 DD E4 81 F4 ...*Y..H)*0h.... +3472: AC 7D 8B 1A 0C D2 D2 16 56 54 3C 90 BA D1 93 45 .}......VT<....E +3488: 1B E3 A1 7D DD 30 A0 51 61 40 EB 66 4F 16 6D 0C ...}.0.Qa@.fO.m. +3504: 83 4E 9E 0B 53 B9 9F D6 0D 9F 0C DA B8 FB 91 F2 .N..S........... +3520: 2E 4D 4F EB A6 8F D7 C6 96 D3 B9 29 02 1D 34 7E .MO........)..4~ +3536: 04 D7 C2 0F A9 FA 3F C1 4C 41 B5 04 69 50 F3 6A ......?.LA..iP.j +3552: 25 E6 FE 45 B1 D4 BB 5A 61 95 74 B3 F6 39 9B 25 %..E...Za.t..9.% +3568: BE 84 AB 5D 50 FE 45 14 14 6A F3 AC 41 25 EC DE ...]P.E..j..A%.. +3584: 97 53 A8 FF B3 06 95 E0 A0 B7 F8 30 30 32 06 95 .S.........002.. +3600: 04 64 A3 A7 BA C4 E8 04 31 CA 4D 35 F3 90 17 41 .d......1.M5...A +3616: 64 FF F2 6A 68 42 6D 5B 3D 0C 4D 18 17 D5 DA 5B d..jhBm[=.M....[ +3632: 1C 28 2E B2 CE 16 B7 40 6A B4 71 6E 72 68 A7 78 .(.....@j.qnrh.x +3648: 09 B4 51 3C 72 68 A7 B0 08 F2 1C A5 E0 FE DA 69 ..Q....|. +3696: D7 16 82 F4 C1 DA 42 81 36 6A F6 2C DA 09 B3 87 ......B.6j.,.... +3712: DA 98 D9 B3 68 27 CC 1E E6 39 66 F6 0C DA 49 B3 ....h'...9f...I. +3728: 77 CB BB 6B 76 AF 8D 6D E3 23 8B 27 67 54 ED 76 w..kv..m.#.'gT.v +3744: 68 36 6D 98 5D 56 C2 08 F9 F0 B3 CB A1 DF 81 E6 h6m.]V.......... +3760: B9 7F 11 CC A7 62 CE 87 0F E4 9D 5D 0E AD EF C2 .....b.....].... +3776: F0 2F 9A 30 50 08 F2 84 91 A0 00 CD 0D 94 87 3C ./.0P..........< +3792: 61 24 80 C0 0B 05 43 23 47 18 49 36 D2 DE E8 52 a$....C#G.I6...R +3808: E2 C3 C0 7A 0C C6 CD BC B1 7A 76 59 52 C2 36 F6 ...z.....zvYR.6. +3824: 8F 0D 7F 54 75 02 E1 BA B7 7F 0C E9 83 D5 09 81 ...Tu........... +3840: 36 8A 43 16 ED 04 0D A1 36 C6 40 16 ED 04 02 61 6.C.....6.@....a +3856: 9E 63 C6 CF A0 9D F4 7D B7 BC BB 6E F7 DA DD 61 .c.....}...n...a +3872: 21 02 C3 42 D4 1E 51 36 E2 14 EA 85 51 65 F7 C6 !..B..Q6....Qe.. +3888: FA 94 16 D6 EF 5B 7D 64 C4 A3 6A FB 83 DD 66 7D .....[}d..j...f} +3904: 6D 7F 67 C7 A1 DA FE 81 36 6E 7D 96 77 B9 68 CB m.g.....6n}.w.h. +3920: FA 81 36 6A 7D 96 77 CD A8 C2 B5 71 EB B3 BC 0B ..6j}.w....q.... +3936: 47 5B D6 EF 94 77 64 7D 66 76 B1 BE 22 E5 30 D1 G[...wd}fv..".0. +3952: 38 B5 C7 21 23 54 12 64 2E DA ED 08 85 CC 45 C3 8..!#T.d......E. +3968: 44 9D CA B0 C2 7A 32 28 3C 4A D4 6B 8E 11 74 94 D....z2( +4160: 0E 03 21 F5 BE CB BC DA 56 97 55 BB EA AE 21 35 ..!.....V.U...!5 +4176: 6B 6D C6 FD 6E 5B 2C D4 65 D5 2E BA D5 1E BA 79 km..n[,.e......y +4192: 64 03 FA BC 6C E7 7A 19 F7 CF D3 B9 EB F5 9B E7 d...l.z......... +4208: AA BC 3B 5C 0B 54 98 33 FF 38 5D 21 5C 10 97 41 ..;\.T.3.8]!\..A +4224: B8 45 9C F0 5B CB 21 25 5C 6C 2B 56 ED 96 5B 09 .E..[.!%\l+V..[. +4240: A3 73 82 B2 D8 27 A9 9E E3 D0 42 9A 8D FB 24 19 .s...'....B...$. +4256: FB E0 0B C8 03 77 0B 23 67 69 77 43 EA 40 EE 0E .....w.#giwC.@.. +4272: 74 63 77 67 91 C5 DD 1D EA C6 EE CE 22 8C BB BB tcwg........"... +4288: 95 D1 91 BB 33 08 A7 DC DD 2D E1 B6 BB BD F0 8F ....3....-...... +4304: AC AA 35 44 F0 8D 1B 24 59 FA E0 BD F8 DA DD EC ..5D...$Y....... +4320: A9 E0 A4 9A D0 E1 F5 56 CB D5 4E CB EB 63 48 CE .......V..N..cH. +4336: DA 87 AF EC 4D 43 61 56 ED AD 5C ED AC 9C 49 17 ....MCaV..\...I. +4352: F3 77 EB 8A 19 A7 95 BF AB 05 4E 79 94 31 83 B7 .w........Ny.1.. +4368: F3 9A DA CA E0 D5 AA A6 1C CA B8 C3 E3 52 2E 1D .............R.. +4384: 5E 2D 65 AA 94 7F 64 51 87 A1 FE 07 09 66 CD DE ^-e...dQ.....f.. +4400: 48 B3 F1 A0 16 E5 5C CF CB A3 71 DB D7 24 BD 0A H.....\...q..$.. +4416: E9 65 FE 8D B3 9B D5 85 50 1C 9A 08 10 D3 E6 09 .e......P....... +4432: 00 77 2D 96 09 98 7D F3 C4 80 FB 17 2D 08 C4 C8 .w-...}.....-... +4448: 39 62 48 39 39 69 86 8E A5 7D 0C 2D 4B 53 B0 34 9bH99i...}.-KS.4 +4464: 77 BB DA B9 99 E8 CA D0 96 08 BB F9 9E FD F0 23 w..............# +4480: AF DC EF B2 CB E5 B1 B0 B6 BE 83 41 C7 AB E0 C0 ...........A.... +4496: 6D B5 EB 5B 24 D6 FA DB 88 9C 7F BD B9 BC 5A CE m..[$.........Z. +4512: FF 39 3B 9F B7 E3 F9 6B 1E 40 58 E9 8D 63 1D 86 .9;....k.@X..c.. +4528: 44 8D 29 C1 38 AE 1E 87 6E 22 CA 83 85 97 ED 64 D.).8...n".....d +4544: 05 2D 9E 11 00 1A 5C 56 F8 C6 4A 0E 61 1B DD 10 .-....\V..J.a... +4560: A2 32 60 25 02 85 70 D9 58 B9 BF 70 0B 00 5E 02 .2`%..p.X..p..^. +4576: 80 15 BE F3 7D 51 F8 65 63 C5 DA C4 94 B4 69 ED ....}Q.ec.....i. +4592: 6B 01 B6 D7 B6 DC D9 37 58 96 37 9E 0D 6B 5C C9 k......7X.7..k\. +4608: C9 BC 38 32 5B 2C 9D 4A 59 58 FA 9A D0 C5 B3 47 ..82[,.JYX.....G +4624: 13 BB F0 DC 21 8C 2E 76 73 18 5C 76 3F A3 39 84 ....!..vs.\v?.9. +4640: 38 3B 53 10 B8 B7 13 C5 14 B9 3C 4B 10 29 9F A7 8;S........iBB.. +4704: 23 CA 0F 46 A0 8B E0 90 43 38 01 43 58 06 31 02 #..F....C8.CX.1. +4720: F7 17 4E 02 D0 29 FC 8E ED 15 FF B1 67 D0 14 E1 ..N..)......g... +4736: 92 F9 67 73 FA 1E CD A1 DB 3E 9A 33 A8 F3 A9 21 ..gs.....>.3...! +4752: 7C EE 5F B0 A6 C1 1B 43 E0 3E E8 1F 06 D9 27 06 |._....C.>....'. +4768: 45 7C E5 B1 09 2F 06 22 8C 2E 3B 12 78 1E 21 74 E|.../."..;.x.!t +4784: 64 8A 02 E7 23 55 52 11 2A 59 A2 48 C1 D2 E3 97 d...#UR.*Y.H.... +4800: 36 37 55 14 69 70 78 0D 8E 66 E1 7E C0 9D AD 80 67U.ipx..f.~.... +4816: 07 B5 3F A3 5A CC FD 0B 5E ED D9 9A 42 80 D5 0B ..?.Z...^...B... +4832: BD CA C0 F6 88 41 11 67 79 6C 87 19 A3 D0 8D 32 .....A.gyl.....2 +4848: 3B 0E E9 3C 43 90 C8 18 0D 8E 45 5F 09 46 68 64 ;....+X.s.K.$ +4976: 76 EE 5F B8 21 B6 E9 6C 3C 75 7F C7 FE 6F 12 1D v._.!..l()..j'...s' +5328: 82 0A B5 69 FF 3E 49 ED E3 99 33 14 4F B9 B4 BA ...i.>I...3.O... +5344: 99 37 8A 29 70 E9 0F 30 6D 28 AD EA 99 37 84 D4 .7.)p..0m(...7.. +5360: 61 26 0E DB F9 81 51 10 E4 47 76 0A DA 65 11 53 a&....Q..Gv..e.S +5376: 90 43 3B 45 41 E4 83 0E 05 95 76 72 6F FC FA C7 .C;EA.....vro... +5392: 6D 95 E0 6A 73 27 80 D1 C7 D3 09 10 6E 99 98 6D m..js'......n..m +5408: DA 7F 08 05 90 BE FF 5E 80 34 B4 A7 17 E0 52 87 .......^.4....R. +5424: E9 05 B4 F3 03 A5 A0 C9 8F FC 14 B4 CA 02 A1 20 ................ +5440: 83 76 92 82 AE 0F BA 14 78 6D 6C 0F 0F 35 62 22 .v......xml..5b" +5456: A4 40 73 BB 71 7B 26 23 1F CF 68 10 5C 3D 21 A2 .@s.q{&#..h.\=!. +5472: 19 08 40 28 80 F4 FD 0F 07 29 6A 7A 16 0B BA D4 ..@(.....)jz.... +5488: 61 86 83 DA F9 81 52 D0 E4 47 7E 0A 5A 65 81 50 a.....R..G~.Ze.P +5504: 90 41 3B 49 41 D7 07 5D 0A BC 36 FA B4 5C F3 10 .A;IA..]..6..\.. +5520: CF A8 C2 A0 41 42 10 D7 49 98 56 FB 16 EC C5 D2 ....AB..I.V..... +5536: 74 EE 5F B0 EA F9 BF 84 B7 E9 43 78 DB B2 79 79 t._.......Cx..yy +5552: A4 55 74 98 C7 2D 1D D0 E3 71 06 25 CC 4E 07 34 .Ut..-...q.%.N.4 +5568: 3B 56 4A A8 EB E9 80 AE 4F 58 25 B6 7F FA 01 36 ;VJ.....OX%....6 +5584: 35 E2 E1 9C 00 58 BE 98 13 98 0D FB 9B A0 81 E3 5....X.......... +5600: 21 8F 6D 9F D1 5D FA FE BB B5 60 61 D1 6B 70 31 !.m..]....`a.kp1 +5616: 54 B7 36 CC 0F CC D7 41 7E 64 F7 75 BB 2C 62 3B T.6....A~d.u.,b; +5632: E7 D0 4E D9 39 F2 41 C7 C5 95 F6 0E 37 71 DB FF ..N.9.A.....7q.. +5648: 7B 27 30 67 CD 1E 7E D7 A5 36 12 62 DA D3 BA 77 {'0g..~..6.b...w +5664: E9 FB 6F DD 83 E9 ED 34 D9 BA 77 A9 43 B5 EE C3 ..o....4..w.C... +5680: FC 48 20 31 D0 20 7F B7 2C 50 24 06 1A E5 47 7C .H.1....,P$...G| +5696: 10 23 B1 63 BB 46 92 FE DD 98 1C 12 8F E8 99 A0 .#.c.F.......... +5712: 22 2B F8 AC A7 A9 EF D2 1F A0 39 C4 08 99 A5 9B "+........9..... +5728: FA 90 3A 54 33 28 CC 8F 04 12 7C A8 D6 4F BB 2C ..:T3(....|..O., +5744: 50 24 F8 50 8D 9E C8 07 31 12 7C 47 24 CA 0D CA P$.P....1.|G$... +5760: C6 D3 E9 B4 79 60 08 FE 31 B4 AD CB 36 1C BC 70 ....y`..1...6..p +5776: EB 7A 27 93 DE BB 7E F9 83 93 45 54 FB 75 79 D9 .z'...~...ET.uy. +5792: E8 67 84 06 31 A2 86 0F 22 1C C2 F3 68 66 25 FC .g..1..."...hf%. +5808: 9F 27 94 24 02 89 72 43 71 C8 11 4A 0F 11 69 0B .'.$..rCq..J..i. +5824: C5 74 B0 1D E9 E0 9B C6 86 CC B6 F3 04 83 57 18 .t............W. +5840: 64 DA 5F 61 90 07 A9 30 7A 96 0A B9 D4 01 2B 0C d._a...0z.....+. +5856: 32 ED AF 30 C8 80 15 06 99 F6 57 18 64 C0 0A 83 2..0......W.d... +5872: 4C FB 2B 0C D2 87 84 DF 1F 00 43 42 96 63 43 E3 L.+.......CB.cC. +5888: F1 64 6F C3 43 50 BA DC C3 6E 74 7F AF D9 3C 48 .do.CP...nt...Ce..T.T{jg.m.. +6304: 95 AE 47 4A DE 99 DE 54 7B 69 7B D9 C4 5E DA D6 ..GJ...T{i{..^.. +6320: FD 88 4F F9 BB 0E 85 E5 03 FB 9B CD BF 79 45 CC ..O..........yE. +6336: C3 B7 FB 43 00 F8 BC 38 B0 A6 39 8B 80 C0 F7 DE ...C...8..9..... +6352: E0 2F 48 90 F3 F2 18 B4 B5 51 24 54 DE 16 7F C8 ./H......Q$T.... +6368: 44 9C 3D 08 1B 3C 6F 53 9F F5 EA 23 90 F0 BC 6D D.=..y.Z. +6480: D0 7A AE 08 B1 BE D9 FB CA 53 B0 BE 96 BA 99 39 .z.......S.....9 +6496: 8B AD 0F C9 59 E7 14 42 EB 07 B9 81 58 DF E4 5D ....Y..B....X..] +6512: 66 CA 70 61 C4 FA 26 EF D2 D2 D0 FA 9D F2 EF 58 f.pa..&........X +6528: DF D0 D4 0E 13 BC B8 FD 9B DA FA 42 F1 8D C3 3B ...........B...; +6544: F2 E1 87 77 02 EB 2B D5 3C 4E 15 5B 5F A9 BD 3F ...w..+..)...n. +6688: BC 3C F6 75 8E EB 19 FB FD F6 8E 25 93 45 EF 18 .<.u.......%.E.. +6704: 8E BD BD 63 97 3E 54 EF 18 CF A1 98 8C 20 87 B2 ...c.>T......... +6720: A3 81 86 10 33 92 23 84 14 24 49 9F B4 69 B1 26 ....3.#..$I..i.& +6736: B9 0F AB 74 5B D5 D3 6A 16 40 53 66 8B 46 52 B5 ...t[..j.@Sf.FR. +6752: 90 62 F0 9E 2D 17 D6 D4 C3 DE 91 C3 5D EA FE 7B .b..-.......]..{ +6768: B6 EE 51 BB 9E 49 00 97 3C 50 CF B6 95 1B 91 9B ..Q..I..y....}.. +6832: F7 49 B3 6C 8E DB FD 37 72 5A 41 C5 E6 0F 82 CA .I.l...7rZA..... +6848: 6B FE 76 76 58 EB BD 4F 9A 35 72 39 84 11 F3 93 k.vvX..O.5r9.... +6864: E8 92 4B F3 93 66 61 DC FD 95 51 F7 23 0E 28 DC ..K..fa...Q.#.(. +6880: 4F 9A D5 70 1C 7F 62 9E 32 98 00 73 EE D7 B5 FB O..p..b.2..s.... +6896: B9 30 1B F7 10 52 F4 D1 4C 80 C1 B5 2B D3 6C D6 .0...R..L...+.l. +6912: 83 B8 1F 92 F7 3F 07 D6 0A 0A 71 7F 13 54 76 F7 .....?....q..Tv. +6928: 07 CA 88 FB B3 08 E3 EE EF 5C 72 D7 FD 19 94 53 .........\r....S +6944: EE EF 3A A0 E3 7E AF 1C BB DF B8 0E AE FB 85 F3 ..:..~.......... +6960: C0 FE C5 4F EC 4C FB ED CF 1E 95 FD A5 9C F4 D9 ...O.L.......... +6976: 5F CA 87 B0 7F 10 14 66 7F 29 07 B3 7F A3 8C D9 _......f.)...... +6992: 5F CA C1 EC DF BE E4 C8 FE 52 0E 66 FF 8E 03 BA _........R.f.... +7008: F6 97 89 1F C3 B4 C5 BA 4F 1E DA 5F 72 BD 71 F9 ........O.._r.q. +7024: 83 12 8F C9 FE C2 EA 59 8F FD 85 D5 0F 60 FF 30 .......Y.....`.0 +7040: 28 C4 FE 4D 50 D9 ED 1F 28 23 F6 CF 22 8C DB BF (..MP...(#.."... +7056: 73 C9 5D FB 67 50 4E D9 BF EB 80 8E FD 45 6A CF s.].gPN......Ej. +7072: 2C 71 E4 96 FE F0 A0 E9 2F CA 31 9E FE A6 BF 92 ,q....../.1..... +7088: 8F A8 E9 EF 7E 58 BC A7 E9 4F AB A1 93 BD 36 FD ....~X...O....6. +7104: 5B 41 C5 F6 0F 82 CA 6D FF 50 39 B6 7F 1E 61 D4 [A.....m.P9...a. +7120: FE DD 4B EE D8 3F 87 72 C2 FE 91 03 DA F6 AF 94 ..K..?.r........ +7136: D1 9F 42 56 AD 8D A3 B5 B0 64 F3 CE 89 CA 3C 26 ..BV.....d....<& +7152: FB 53 66 FA EC 4F 99 79 00 FB 87 41 21 F6 6F 82 .Sf..O.y...A!.o. +7168: CA 6E FF 40 19 B1 7F 16 61 DC FE 9D 4B EE DA 3F .n.@....a...K..? +7184: 83 72 CA FE 5D 07 74 EC EF 95 63 FB EB 62 E0 47 .r..].t...c..b.G +7200: 07 8D 1F 49 0C 2D EC 3F ED F5 FF B6 BF 8D 33 28 ...I.-.?......3( +7216: 00 56 B2 79 71 E0 CD 86 CA 31 07 90 5C 0E BB ED .V.yq....1..\... +7232: 95 03 17 5B 71 08 62 8B 71 08 62 CB 8D 03 92 39 ...[q.b.q.b....9 +7248: 31 15 79 F4 51 2A B0 C2 89 E1 C8 11 40 02 8E 94 1.y.Q*......@... +7264: 3B DA 8C F8 00 D0 B1 51 56 AC 7D 68 10 A1 92 6E ;......QV.}h...n +7280: EC 1E 6B F2 88 FA 07 C6 F0 9E DE B1 A9 E6 54 F6 ..k...........T. +7296: FA 6C 40 10 12 F2 68 40 1D 52 6E 1C 02 DD 18 83 .l@...h@.Rn..... +7312: 2C B2 28 05 9D CB ED B8 3F 83 6E C2 FC DD 92 6F ,.(.....?.n....o +7328: 9B DE A4 A6 B2 E2 45 0F 30 1F 5F 34 8B 66 E5 9F ......E.0._4.f.. +7344: FD CC 68 91 A7 4A D1 79 71 68 1E F9 8E 0D 0C 1F ..h..J.yqh...... +7360: DA FF BC 96 8B AC 38 E8 9E D9 AD 26 B2 DC 3E 8E ......8....&..>. +7376: 33 26 B6 73 16 75 D4 CE 48 B1 C4 AE CE 20 9F 70 3&.s.u..H......p +7392: 75 C2 15 6D 73 7B 79 F4 8E 4E 47 8C 86 E6 56 42 u..ms{y..NG...VB +7408: 6E 7C E0 5D D3 13 FE 48 D6 30 93 A7 DC 34 BB 22 n|.]...H.0...4." +7424: C7 40 70 63 F7 0F 44 18 52 4C 42 13 52 6E 12 02 .@pc..D.RLB.Rn.. +7440: DD 18 81 2C B2 28 02 9D CB ED 78 3F 83 6E C2 FB ...,.(....x?.n.. +7456: DD 92 6F 9B DE EB A2 77 74 3D E2 E1 12 4E C5 84 ..o....wt=...N.. +7472: 0E 4C FF 69 75 7D B5 F8 30 5F FE 79 7D B5 BC 9D .L.iu}..0_.y}... +7488: 2F 56 A7 9C 72 6A 9E B7 DF FE 7C 7D 75 4A 15 A5 /V..rj....|}uJ.. +7504: DD B7 97 77 A7 0A 0A BC 7A FB D3 72 55 9D 85 74 ...w....z..rU..t +7520: DF 73 A7 88 DF 84 13 90 E7 31 77 D0 71 17 D0 D7 .s.......1w.q... +7536: 16 DB 71 37 8C E9 71 24 69 89 E4 31 B5 D0 CD 92 ..q7..q$i..1.... +7552: B5 11 65 89 24 BC 5D FD DC 33 95 FB 42 D2 A3 71 ..e.$.]..3..B..q +7568: 4C 89 0A 63 32 D6 33 09 EF 57 BF F2 5C 07 F5 ED L..c2.3..W..\... +7584: EB ED DD CD 72 71 E5 4A 64 79 5F 36 CB 3F 43 5F ....rq.Jdy_6.?C_ +7600: B1 45 AE D8 76 2E B8 A0 D2 15 82 FF 25 E7 41 43 .E..v.......%.AC +7616: 6A 01 4B 4B 60 11 5F 38 60 0B 5F 94 3F EB 4C 65 j.KK`._8`._.?.Le +7632: 72 5A 8E 14 4D B0 7A 39 91 FA 91 59 69 2D B6 AB rZ..M.z9...Yi-.. +7648: A5 26 0F 45 0B 6B 7E 5D 26 A6 85 51 64 BA FA FF .&.E.k~]&..Qd... +7664: 01 FF 3B D2 07 D7 FF 00 00 1F 8B 08 04 00 00 00 ..;............. +7680: 00 00 FF 06 00 42 43 02 00 39 05 BD 58 4D 73 DB .....BC..9..XMs. +7696: 46 0C 3D 2B BF 22 A7 5E BA 91 17 58 60 B1 CB 8C F.=+.".^...X`... +7712: DB 51 94 56 CD C1 6E 3E 9C 5C 35 1A 99 71 35 13 .Q.V..n>.\5..q5. +7728: 53 1E 59 F1 F4 C0 1F 5F EC 92 72 A5 48 22 3D 4E S.Y...._..r.H"=N +7744: 1C 1F 28 89 E4 23 DE 02 78 6F 41 4F 17 D5 7A B5 ..(..#..xoAO..z. +7760: AC A6 77 B3 D5 62 56 AD 7F D9 FD 59 9F FD FD FA ..w..bV....Y.... +7776: CD 9F 6F FE 78 5F BF 7A 3F 1E 41 FD D7 E4 7C 5C ..o.x_.z?.A...|\ +7792: 00 58 5B AF 57 B3 EA 76 BE 5A DC AC EB F3 B3 A9 .X[.W..v.Z...... +7808: B5 82 51 86 54 8F 97 97 8B EA AA 86 13 84 7A 3E ..Q.T.........z> +7824: 7C 01 D6 BF 40 F0 A3 DF 26 F5 CD F0 F7 3A C4 13 |...@...&....:.. +7840: B1 18 EA 74 FE 84 89 A1 AE F5 AA FE AC CD B8 FE ...t............ +7856: 7A 73 BB 5E 95 B3 EB E9 55 59 95 8F 22 10 86 6E zs.^....UY.."..n +7872: 43 A0 F9 FB FF E1 3C BD 59 2D AE CB E9 C7 8B F7 C.....<.Y-...... +7888: D3 1F B7 E2 78 60 C5 F1 9B 05 3B 1F 13 89 A8 D7 ....x`....;..... +7904: F5 21 4F 4C C9 59 BB 43 C9 ED 53 8A 7C 22 A0 99 .!OL.Y.C..S.|".. +7920: 4F 94 D8 33 DF 53 1A 4C 2E 8A D1 EB E2 F5 DB 62 O..3.S.L.......b +7936: F2 6E 60 4F A0 00 31 E0 0A 67 0B 92 67 20 03 02 .n`O..1..g..g... +7952: 14 81 20 83 E1 60 32 18 EB 71 38 B8 AA 96 D7 B3 .....`2..q8..... +7968: CB 69 F9 EF F2 BA BC 9D CE AA 53 8C E4 F0 E5 EE .i........S..... +7984: E9 7F 96 D7 A7 64 43 F8 F6 74 B9 3E F5 8E 78 73 .....dC..t.>..xs +8000: 5A AB BE 79 0A 60 C0 E8 BF BD 90 9E 03 20 76 0F Z..y.`........v. +8016: 91 9E 84 11 02 BE 9C 7F 59 54 9A B4 E9 DD FC EE ........YT...... +8032: F4 D3 F8 93 B5 16 42 04 74 43 BA BF 74 55 AE AE ......B.tC..tU.. +8048: F5 6B 39 9D 7F 99 DD DE 2E 3E 2F E6 B3 F5 62 59 .k9......>/...bY +8064: 9D BE 2A AB C5 55 F5 72 74 7E 7E FA 54 DD 42 F7 ..*..U.rt~~.T.B. +8080: A5 F9 E5 6C 56 95 1F CA 2F E5 7C 9D AA 84 A9 4A ...lV.../.|....J +8096: 68 7F 05 0B E3 4D 95 48 95 12 54 29 68 4F 98 23 h....M.H..T)hO.# +8112: D6 49 33 F0 A4 CD 7C 50 BE A2 A4 64 43 2A 84 7B .I3...|P...dC*.{ +8128: F9 4A 2B DF F4 F5 E9 F4 0B 56 FB F3 27 0B 38 D7 .J+......V..'.8. +8144: 61 7B C9 8D 80 B5 0E 8D 80 B7 56 FC D3 14 BC DF a{........V..... +8160: 1B 59 C1 A9 37 B2 82 37 BD B1 2F 61 32 40 05 86 .Y..7..7../a2@.. +8176: 82 C2 B3 B3 8B 01 30 AA 6A 2F 5A F5 0E D3 ED 93 ......0.j/Z..... +8192: 77 0D 62 00 7A 7B 0C 05 1A 4D 7A C0 22 1D 29 61 w.b.z{...Mz.".)a +8208: D0 3B BD 73 A4 9A 4F 88 7D 85 11 01 90 0C A1 57 .;.s..O.}......W +8224: 61 D5 72 FD FC 66 B5 BC 5B 5C 96 97 87 22 5B 23 a.r..f..[\..."[# +8240: 5E 99 A6 43 8A EB 2C E6 B8 A3 A3 64 A5 20 6B 1C ^..C..,....d..k. +8256: 45 5F 38 76 3E 63 C0 E6 F5 5D 74 60 34 EB C6 79 E_8v>c...]t`4..y +8272: C2 C2 09 E1 36 E8 10 26 E5 10 F5 56 4F D1 44 77 ....6..&...VO.Dw +8288: 0F 61 17 33 64 74 1C E2 01 D8 60 B4 85 27 CB 19 .a.3dt....`..'.. +8304: 13 7D 27 06 D2 D2 A3 35 E0 6D 21 81 6D C2 78 CB .}'....5.m!.m.x. +8320: 7D 71 38 82 D7 1A 6B 40 2D 58 C6 B4 CB 39 86 71 }q8...k@-X...9.q +8336: 0A 09 09 E2 94 23 C6 06 D2 4D 4D 17 01 12 4C 50 .....#...MM...LP +8352: 04 7A 48 08 61 DB DF 14 61 88 BD 4D A1 3F 96 F3 .zH.a...a..M.?.. +8368: 45 FE FE 3C 35 C8 E7 E5 D7 EA 60 77 80 91 90 52 E..<5.....`w...R +8384: 14 20 53 56 FA A1 93 81 25 44 B4 0F 36 FE C3 52 ..SV....%D..6..R +8400: D0 DC 86 22 EA 9E 93 85 00 04 4D 77 8D 26 C7 EA ..."......Mw.&.. +8416: 61 53 86 AC 41 AF 9F 21 B7 24 22 A7 5E 19 2B EE aS..A..!.$".^.+. +8432: A8 E6 9C 11 46 2E F4 10 1A C5 11 E7 4D B6 A3 EC ....F.......M... +8448: 11 38 6A EF EB 67 74 B9 89 59 1A 69 4F 8E 63 04 .8j..gt..Y.iO.c. +8464: 59 8C 77 29 89 91 77 40 47 03 81 92 12 36 0E ED Y.w)..w@G....6.. +8480: 36 48 72 E6 3B F4 22 0C D1 50 6A E4 28 B1 05 85 6Hr.;."..Pj.(... +8496: BE 4E 16 C7 68 D8 47 05 21 EC 80 BA D6 A4 ED 6E .N..h.G.!......n +8512: 1C C0 16 28 B8 5E 7A 42 DE 38 EB 8A 60 A9 A5 17 ...(.^zB.8..`... +8528: 6D AF A0 83 66 5C 44 E9 69 0A 5B 90 EB A4 A7 A4 m...f\D.i.[..... +8544: 02 91 41 2D 53 B0 B2 C1 70 37 BB B4 12 0E 06 58 ..A-S...p7.....X +8560: D9 01 B4 4B 8A BD 76 23 3A 61 19 B6 DA 44 11 9A ...K..v#:a...D.. +8576: 86 78 88 77 38 01 83 42 05 6B C7 35 20 A0 6E 90 .x.w8..B.k.5..n. +8592: 2D 98 D9 E9 5C E8 15 14 9A E4 79 07 BD 20 E5 97 -...\.....y..... +8608: D7 C4 A1 ED 57 EF 5C B7 1D 82 DE 8B D1 A8 8F A8 ....W.\......... +8624: 61 51 06 11 39 EA CB B8 00 A8 85 8A A6 BE C9 38 aQ..9..........8 +8640: 51 84 2D 31 ED 1B 85 8F 48 6A 55 F0 18 A3 68 B6 Q.-1....HjU...h. +8656: 58 B5 DE A8 86 9A 3C DF 36 31 85 78 CB 9C 76 78 X.....<.61.x..vx +8672: 16 6F 3F 0C A0 56 D9 93 6E 78 84 CC 45 73 90 A6 .o?..V..nx..Es.. +8688: 02 A4 7B 40 AF B3 B2 7D 80 B3 EE D3 BD 0F ED 53 ..{@...}.......S +8704: 68 7D 4C D1 1C DA D0 9E 21 1C 75 AA B6 37 23 79 h}L.....!.u..7#y +8720: 32 64 8B C8 36 0F 07 E2 9C 1C B5 AA EC 6E 4E 6D 2d..6........nNm +8736: 34 84 D4 CD 81 73 98 A0 9B 4E B7 04 B2 6D 68 63 4....s...N...mhc +8752: 5A 54 09 48 AE 7C 08 BE 7B C3 F1 51 07 27 7A 5C ZT.H.|..{..Q.'z\ +8768: 15 33 4F 4C 39 89 41 27 25 3D E4 1D C6 39 6C B6 .3OL9.A'%=...9l. +8784: C5 CE 69 49 B7 08 FD 06 DE 35 18 1F 6C 9F DB 23 ..iI.....5..l..# +8800: 1B D5 90 EA 87 03 EC 82 8E FA 5C BA 59 BD 1B 69 ..........\.Y..i +8816: 0B 24 DC 6B F8 24 3A FF F9 54 E1 C6 85 15 E4 B7 .$.k.$:..T...... +8832: 41 07 D3 E8 AD 7B BC 18 52 50 B6 AA DA A0 6F 8D A....{..RP....o. +8848: AD 3F A4 A8 BD 3E 4E 1E D5 55 B2 10 24 6C 50 B1 .?...>N..U..$lP. +8864: 1F 15 74 C0 CD 3D 1C DB B1 20 B8 6E B9 5B 1D 98 ..t..=.....n.[.. +8880: 41 BE 6B 2E D0 F7 E2 A0 D6 A4 1D 4D 7E 37 E8 F8 A.k........M~7.. +8896: 78 5A 45 1E 92 D6 8F D5 BC 5C AD 67 8B EA F9 AD xZE......\.g.... +8912: 06 CF E7 F5 CC DE D2 D9 6A 70 87 69 B6 DF 22 91 ........jp.i..". +8928: 37 F3 CE D6 63 E3 BD 57 9F F2 5E 1A 4C CC 92 9F 7...c..W..^.L... +8944: 74 0D 00 9E 45 07 1A 27 BA 01 DA 06 C5 8D 30 8E t...E..'......0. +8960: 8B 11 74 E4 8D F8 7D 39 D6 97 01 52 17 F7 ED 8B ..t...}9...R.... +8976: 8B B7 E8 BA EA AA 83 1A E9 04 F0 03 53 8C 2A 54 ............S.*T +8992: 41 E3 F5 1F 0E EA 0E 22 CF FE 03 84 D6 5D 4C 2A A......".....]L* +9008: 13 00 00 1F 8B 08 04 00 00 00 00 00 FF 06 00 42 ...............B +9024: 43 02 00 1B 00 03 00 00 00 00 00 00 00 00 00 C.............. diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@Case_1_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@Case_1_vcf.snap index 5740a767..990e0508 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@Case_1_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@Case_1_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -57,16 +61,16 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father Case_1_index Case_1_mother -17 41249263 . G A . . gnomad_exomes_an=31398;gnomad_exomes_hom=0;gnomad_exomes_het=56;gnomad_genomes_an=251304;gnomad_genomes_hom=0;gnomad_genomes_het=369;clinvar_vcv=VCV000055642.108;clinvar_germline_classification=Benign;ANN=A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/23|c.591C>T|p.C197=|704/7088|591/5592|197/1864|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/22|c.450C>T|p.C150=|644/7028|450/5451|150/1817|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/22|c.591C>T|p.C197=|610/3682|591/2280|197/760|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/22|c.591C>T|p.C197=|698/3696|591/2100|197/700|0|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/24|c.591C>T|p.C197=|704/7151|591/5655|197/1885|0| GT:AD:DP:GQ 0/0:52,0:52:99 0/0:46,0:46:99 0/1:21,21:42:99 -17 41252332 . T C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-435A>G|p.?|555/7088|442/5592||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-435A>G|p.?|495/7028|301/5451||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-435A>G|p.?|461/3682|442/2280||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-435A>G|p.?|549/3696|442/2100||435|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-435A>G|p.?|555/7151|442/5655||435| GT:AD:DP:GQ 0/0:25,0:25:75 0/1:14,14:28:99 0/1:19,21:40:99 -17 41252691 . ATATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-795delATTATA|p.?|555/7088|442/5592||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-795delATTATA|p.?|495/7028|301/5451||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-795delATTATA|p.?|461/3682|442/2280||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-795delATTATA|p.?|549/3696|442/2100||795|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-795delATTATA|p.?|555/7151|442/5655||795| GT:AD:DP:GQ 0/0:9,0:9:27 0/1:4,10:14:99 0/1:12,11:23:99 -17 41252693 . ATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-797delATTA|p.?|555/7088|442/5592||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-797delATTA|p.?|495/7028|301/5451||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-797delATTA|p.?|461/3682|442/2280||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-797delATTA|p.?|549/3696|442/2100||797|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-797delATTA|p.?|555/7151|442/5655||797| GT:AD:DP:GQ 0/0:9,0:9:27 0/0:14,0:14:42 0/1:11,11:22:99 -17 41252695 . AAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-799delAT|p.?|555/7088|442/5592||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-799delAT|p.?|495/7028|301/5451||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-799delAT|p.?|461/3682|442/2280||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-799delAT|p.?|549/3696|442/2100||799|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-799delAT|p.?|555/7151|442/5655||799| GT:AD:DP:GQ 0/1:3,6:9:79 0/0:14,0:14:42 0/0:22,0:22:66 -17 41252696 . A T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-799T>A|p.?|555/7088|442/5592||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-799T>A|p.?|495/7028|301/5451||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-799T>A|p.?|461/3682|442/2280||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-799T>A|p.?|549/3696|442/2100||799|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-799T>A|p.?|555/7151|442/5655||799| GT:AD:DP:GQ 0/1:6,3:9:78 0/1:10,4:14:98 0/0:22,0:22:67 -17 41252697 . A AT . . ANN=AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insA|p.?|555/7088|442/5592||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insA|p.?|495/7028|301/5451||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insA|p.?|461/3682|442/2280||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insA|p.?|549/3696|442/2100||801|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insA|p.?|555/7151|442/5655||801| GT:AD:DP:GQ 1/1:0,45:45:99 1/0:16,17:33:99 1/0:22,11:33:99 -17 41252697 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insAA|p.?|555/7088|442/5592||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insAA|p.?|495/7028|301/5451||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insAA|p.?|461/3682|442/2280||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insAA|p.?|549/3696|442/2100||801|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insAA|p.?|555/7151|442/5655||801| GT:AD:DP:GQ 0/0:45,0:45:99 0/1:17,16:33:99 0/1:12,21:33:99 -17 41254393 . G T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1746C>A|p.?|554/7088|441/5592||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1746C>A|p.?|494/7028|300/5451||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1746C>A|p.?|460/3682|441/2280||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1746C>A|p.?|548/3696|441/2100||-1746|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1746C>A|p.?|554/7151|441/5655||-1746| GT:AD:DP:GQ 0/1:29,8:37:66 ./.:.:.:. 0/0:32,3:35:47 -17 41273700 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2333_80+2334insT|p.?|193/7088|80/5592||-2334|,CA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2333_-8+2334insT|p.?|187/7028|-8/5451||-2334|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2333_80+2334insT|p.?|99/3682|80/2280||-2334|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2333_80+2334insT|p.?|187/3696|80/2100||-2334|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2333_80+2334insT|p.?|193/7151|80/5655||-2334| GT:AD:DP:GQ 0/0:14,0:14:42 0/0:6,1:7:10 0/1:5,5:10:65 +17 41249263 . G A . . gnomad_exomes_an=31398;gnomad_exomes_hom=0;gnomad_exomes_het=56;gnomad_genomes_an=251304;gnomad_genomes_hom=0;gnomad_genomes_het=369;clinvar_vcv=VCV000055642.108;clinvar_germline_classification=Benign;ANN=A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/23|c.591C>T|p.Cys197=|704/7088|591/5592|197/1864|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/22|c.450C>T|p.Cys150=|644/7028|450/5451|150/1817|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/22|c.591C>T|p.Cys197=|610/3682|591/2280|197/760|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/22|c.591C>T|p.Cys197=|698/3696|591/2100|197/700|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/24|c.591C>T|p.Cys197=|704/7151|591/5655|197/1885|0|-1| GT:AD:DP:GQ 0/0:52,0:52:99 0/0:46,0:46:99 0/1:21,21:42:99 +17 41252332 . T C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-435A>G|p.?|555/7088|442/5592||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-435A>G|p.?|495/7028|301/5451||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-435A>G|p.?|461/3682|442/2280||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-435A>G|p.?|549/3696|442/2100||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-435A>G|p.?|555/7151|442/5655||435|-1| GT:AD:DP:GQ 0/0:25,0:25:75 0/1:14,14:28:99 0/1:19,21:40:99 +17 41252691 . ATATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-795del|p.?|555/7088|442/5592||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-795del|p.?|495/7028|301/5451||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-795del|p.?|461/3682|442/2280||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-795del|p.?|549/3696|442/2100||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-795del|p.?|555/7151|442/5655||795|-1| GT:AD:DP:GQ 0/0:9,0:9:27 0/1:4,10:14:99 0/1:12,11:23:99 +17 41252693 . ATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-797del|p.?|555/7088|442/5592||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-797del|p.?|495/7028|301/5451||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-797del|p.?|461/3682|442/2280||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-797del|p.?|549/3696|442/2100||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-797del|p.?|555/7151|442/5655||797|-1| GT:AD:DP:GQ 0/0:9,0:9:27 0/0:14,0:14:42 0/1:11,11:22:99 +17 41252695 . AAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-799del|p.?|555/7088|442/5592||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-799del|p.?|495/7028|301/5451||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-799del|p.?|461/3682|442/2280||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-799del|p.?|549/3696|442/2100||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-799del|p.?|555/7151|442/5655||799|-1| GT:AD:DP:GQ 0/1:3,6:9:79 0/0:14,0:14:42 0/0:22,0:22:66 +17 41252696 . A T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-799T>A|p.?|555/7088|442/5592||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-799T>A|p.?|495/7028|301/5451||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-799T>A|p.?|461/3682|442/2280||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-799T>A|p.?|549/3696|442/2100||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-799T>A|p.?|555/7151|442/5655||799|-1| GT:AD:DP:GQ 0/1:6,3:9:78 0/1:10,4:14:98 0/0:22,0:22:67 +17 41252697 . A AT . . ANN=AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insA|p.?|555/7088|442/5592||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insA|p.?|495/7028|301/5451||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insA|p.?|461/3682|442/2280||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insA|p.?|549/3696|442/2100||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insA|p.?|555/7151|442/5655||801|-1| GT:AD:DP:GQ 1/1:0,45:45:99 1/0:16,17:33:99 1/0:22,11:33:99 +17 41252697 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insAA|p.?|555/7088|442/5592||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insAA|p.?|495/7028|301/5451||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insAA|p.?|461/3682|442/2280||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insAA|p.?|549/3696|442/2100||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insAA|p.?|555/7151|442/5655||801|-1| GT:AD:DP:GQ 0/0:45,0:45:99 0/1:17,16:33:99 0/1:12,21:33:99 +17 41254393 . G T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1746C>A|p.?|554/7088|441/5592||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1746C>A|p.?|494/7028|300/5451||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1746C>A|p.?|460/3682|441/2280||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1746C>A|p.?|548/3696|441/2100||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1746C>A|p.?|554/7151|441/5655||-1746|-1| GT:AD:DP:GQ 0/1:29,8:37:66 ./.:.:.:. 0/0:32,3:35:47 +17 41273700 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2333_80+2334insT|p.?|193/7088|80/5592||-2334|-1|,CA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2333_-8+2334insT|p.?|187/7028|-8/5451||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2333_80+2334insT|p.?|99/3682|80/2280||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2333_80+2334insT|p.?|187/3696|80/2100||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2333_80+2334insT|p.?|193/7151|80/5655||-2334|-1| GT:AD:DP:GQ 0/0:14,0:14:42 0/0:6,1:7:10 0/1:5,5:10:65 MT 73 . A G . . clinvar_vcv=VCV003066071.1;clinvar_germline_classification=Affects GT:AD:DP:GQ 0/0:3975,0:3975:99 1/1:0,2871:2871:99 1/1:0,3320:3320:99 MT 119 . T C . . . GT:AD:DP:GQ 0/0:5417,1:5418:99 1/1:0,4039:4039:99 1/1:1,4112:4113:99 MT 189 . A G . . . GT:AD:DP:GQ 0/0:3069,0:3069:99 1/1:0,1721:1721:99 1/1:0,2204:2204:99 diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@NA12878_dragen_vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@NA12878_dragen_vcf.snap index 0f4c1039..f8a5b162 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@NA12878_dragen_vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__test__result_snapshot_test_with_id_map@NA12878_dragen_vcf.snap @@ -11,10 +11,14 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,85 +57,85 @@ expression: "std::fs::read_to_string(&args.path_out)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT my-custom-id -17 41244000 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=1591;gnomad_exomes_het=6707;gnomad_genomes_an=250954;gnomad_genomes_hom=16402;gnomad_genomes_het=55703;clinvar_vcv=VCV000041818.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3548A>G|p.K1183R|3661/7088|3548/5592|1183/1864|0|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.3407A>G|p.K1136R|3601/7028|3407/5451|1136/1817|0|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-951A>G|p.?|807/3682|788/2280||951|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-951A>G|p.?|895/3696|788/2100||951|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3548A>G|p.K1183R|3661/7151|3548/5655|1183/1885|0| GT:AD:DP:GQ 0/1:8,18:26:43 -17 41244435 . T C . . gnomad_exomes_an=31332;gnomad_exomes_hom=1505;gnomad_exomes_het=6415;gnomad_genomes_an=251032;gnomad_genomes_hom=16145;gnomad_genomes_het=55137;clinvar_vcv=VCV000041815.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3113A>G|p.E1038G|3226/7088|3113/5592|1038/1864|0|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2972A>G|p.E991G|3166/7028|2972/5451|991/1817|0|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-1386A>G|p.?|807/3682|788/2280||1386|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-1386A>G|p.?|895/3696|788/2100||1386|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3113A>G|p.E1038G|3226/7151|3113/5655|1038/1885|0| GT:AD:DP:GQ 0/1:12,14:26:47 -17 41244936 . G A . . gnomad_exomes_an=31324;gnomad_exomes_hom=4287;gnomad_exomes_het=6594;gnomad_genomes_an=251034;gnomad_genomes_hom=22738;gnomad_genomes_het=55898;clinvar_vcv=VCV000041812.88;clinvar_germline_classification=Benign;ANN=A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2612C>T|p.P871L|2725/7088|2612/5592|871/1864|0|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2471C>T|p.P824L|2665/7028|2471/5451|824/1817|0|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1825C>T|p.?|806/3682|787/2280||-1825|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1825C>T|p.?|894/3696|787/2100||-1825|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2612C>T|p.P871L|2725/7151|2612/5655|871/1885|0| GT:AD:DP:GQ 0/1:17,13:30:47 -17 41245237 . A G . . gnomad_exomes_an=31314;gnomad_exomes_hom=1492;gnomad_exomes_het=6416;gnomad_genomes_an=250946;gnomad_genomes_hom=16057;gnomad_genomes_het=55063;clinvar_vcv=VCV000125554.83;clinvar_germline_classification=Benign;ANN=G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2311T>C|p.L771=|2424/7088|2311/5592|771/1864|0|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2170T>C|p.L724=|2364/7028|2170/5451|724/1817|0|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1524T>C|p.?|806/3682|787/2280||-1524|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1524T>C|p.?|894/3696|787/2100||-1524|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2311T>C|p.L771=|2424/7151|2311/5655|771/1885|0| GT:AD:DP:GQ 0/1:18,11:29:46 -17 41245466 . G A . . gnomad_exomes_an=31338;gnomad_exomes_hom=1602;gnomad_exomes_het=6709;gnomad_genomes_an=251110;gnomad_genomes_hom=16420;gnomad_genomes_het=55707;clinvar_vcv=VCV000125536.84;clinvar_germline_classification=Benign;ANN=A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2082C>T|p.S694=|2195/7088|2082/5592|694/1864|0|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.1941C>T|p.S647=|2135/7028|1941/5451|647/1817|0|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1295C>T|p.?|806/3682|787/2280||-1295|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1295C>T|p.?|894/3696|787/2100||-1295|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2082C>T|p.S694=|2195/7151|2082/5655|694/1885|0| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41247122 . A ACCT . . clinvar_vcv=VCV000127125.5;clinvar_germline_classification=Benign;ANN=ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.671-246_671-245insAGG|p.?|784/7088|671/5592||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.530-246_530-245insAGG|p.?|724/7028|530/5451||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.671-246_671-245insAGG|p.?|690/3682|671/2280||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.671-246_671-245insAGG|p.?|778/3696|671/2100||246|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.671-246_671-245insAGG|p.?|784/7151|671/5655||246| GT:AD:DP:GQ 0/1:18,11:29:45 -17 41247604 . A C . . clinvar_vcv=VCV000209447.5;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.670+259T>G|p.?|783/7088|670/5592||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.529+259T>G|p.?|723/7028|529/5451||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.670+259T>G|p.?|689/3682|670/2280||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.670+259T>G|p.?|777/3696|670/2100||-259|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.670+259T>G|p.?|783/7151|670/5655||-259| GT:AD:DP:GQ 0/1:12,11:23:47 -17 41248164 . C T . . clinvar_vcv=VCV000209449.4;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-225G>A|p.?|707/7088|594/5592||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-225G>A|p.?|647/7028|453/5451||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-225G>A|p.?|613/3682|594/2280||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-225G>A|p.?|701/3696|594/2100||225|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-225G>A|p.?|707/7151|594/5655||225| GT:AD:DP:GQ 0/1:14,7:21:44 -17 41248393 . C CAAAAAAAAAA . . ANN=CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-455_594-454insTTTTTTTTTT|p.?|707/7088|594/5592||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-455_453-454insTTTTTTTTTT|p.?|647/7028|453/5451||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-455_594-454insTTTTTTTTTT|p.?|613/3682|594/2280||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-455_594-454insTTTTTTTTTT|p.?|701/3696|594/2100||455|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-455_594-454insTTTTTTTTTT|p.?|707/7151|594/5655||455| GT:AD:DP:GQ 0/1:9,7:16:48 -17 41248484 . G C . . clinvar_vcv=VCV000209450.4;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-545C>G|p.?|707/7088|594/5592||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-545C>G|p.?|647/7028|453/5451||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-545C>G|p.?|613/3682|594/2280||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-545C>G|p.?|701/3696|594/2100||545|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-545C>G|p.?|707/7151|594/5655||545| GT:AD:DP:GQ 0/1:11,9:20:48 -17 41248588 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-650delT|p.?|707/7088|594/5592||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-650delT|p.?|647/7028|453/5451||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-650delT|p.?|613/3682|594/2280||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-650delT|p.?|701/3696|594/2100||650|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-650delT|p.?|707/7151|594/5655||650| GT:AD:DP:GQ 0/1:9,10:19:42 -17 41249094 . A G . . gnomad_exomes_an=31332;gnomad_exomes_hom=1602;gnomad_exomes_het=6703;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000209451.5;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.593+167T>C|p.?|706/7088|593/5592||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.452+167T>C|p.?|646/7028|452/5451||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.593+167T>C|p.?|612/3682|593/2280||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.593+167T>C|p.?|700/3696|593/2100||-167|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.593+167T>C|p.?|706/7151|593/5655||-167| GT:AD:DP:GQ 0/1:9,7:16:48 -17 41249363 . TA T . . gnomad_exomes_an=31286;gnomad_exomes_hom=1497;gnomad_exomes_het=6409;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-58delT|p.?|661/7088|548/5592||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-58delT|p.?|601/7028|407/5451||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-58delT|p.?|567/3682|548/2280||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-58delT|p.?|655/3696|548/2100||58|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-58delT|p.?|661/7151|548/5655||58| GT:AD:DP:GQ 0/1:12,13:25:48 -17 41250047 . C CT . . ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-742_548-741insA|p.?|661/7088|548/5592||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-742_407-741insA|p.?|601/7028|407/5451||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-742_548-741insA|p.?|567/3682|548/2280||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-742_548-741insA|p.?|655/3696|548/2100||742|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-742_548-741insA|p.?|661/7151|548/5655||742| GT:AD:DP:GQ 0/1:13,7:20:18 -17 41250678 . C CT . . clinvar_vcv=VCV000209458.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+1113_547+1114insA|p.?|660/7088|547/5592||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+1113_406+1114insA|p.?|600/7028|406/5451||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+1113_547+1114insA|p.?|566/3682|547/2280||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+1113_547+1114insA|p.?|654/3696|547/2100||-1114|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+1113_547+1114insA|p.?|660/7151|547/5655||-1114| GT:AD:DP:GQ 0/1:6,16:22:42 -17 41250923 . T C . . clinvar_vcv=VCV000209460.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+869A>G|p.?|660/7088|547/5592||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+869A>G|p.?|600/7028|406/5451||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+869A>G|p.?|566/3682|547/2280||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+869A>G|p.?|654/3696|547/2100||-869|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+869A>G|p.?|660/7151|547/5655||-869| GT:AD:DP:GQ 0/1:13,9:22:47 -17 41251495 . C G . . clinvar_vcv=VCV000209463.4;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+297G>C|p.?|660/7088|547/5592||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+297G>C|p.?|600/7028|406/5451||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+297G>C|p.?|566/3682|547/2280||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+297G>C|p.?|654/3696|547/2100||-297|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+297G>C|p.?|660/7151|547/5655||-297| GT:AD:DP:GQ 0/1:11,15:26:48 -17 41251646 . T A . . gnomad_exomes_an=31294;gnomad_exomes_hom=1592;gnomad_exomes_het=6693;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125879.7;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+146A>T|p.?|660/7088|547/5592||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+146A>T|p.?|600/7028|406/5451||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+146A>T|p.?|566/3682|547/2280||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+146A>T|p.?|654/3696|547/2100||-146|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+146A>T|p.?|660/7151|547/5655||-146| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41252575 . G A . . clinvar_vcv=VCV000209466.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-678C>T|p.?|555/7088|442/5592||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-678C>T|p.?|495/7028|301/5451||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-678C>T|p.?|461/3682|442/2280||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-678C>T|p.?|549/3696|442/2100||678|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-678C>T|p.?|555/7151|442/5655||678| GT:AD:DP:GQ:PS 1|1:0,3:3:5:41252575 -17 41252591 . C CAT . . clinvar_vcv=VCV000264796.2;clinvar_germline_classification=Benign;ANN=CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-695_442-694insAT|p.?|555/7088|442/5592||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-695_301-694insAT|p.?|495/7028|301/5451||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-695_442-694insAT|p.?|461/3682|442/2280||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-695_442-694insAT|p.?|549/3696|442/2100||695|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-695_442-694insAT|p.?|555/7151|442/5655||695| GT:AD:DP:GQ:PS 1|1:0,2:2:4:41252575 -17 41254174 . A G . . clinvar_vcv=VCV000209478.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1965T>C|p.?|554/7088|441/5592||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1965T>C|p.?|494/7028|300/5451||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1965T>C|p.?|460/3682|441/2280||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1965T>C|p.?|548/3696|441/2100||-1965|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1965T>C|p.?|554/7151|441/5655||-1965| GT:AD:DP:GQ 0/1:14,13:27:48 -17 41254374 . C CTTTTTTTT . . ANN=CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1764_441+1765insAAAAAAAA|p.?|554/7088|441/5592||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1764_300+1765insAAAAAAAA|p.?|494/7028|300/5451||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1764_441+1765insAAAAAAAA|p.?|460/3682|441/2280||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1764_441+1765insAAAAAAAA|p.?|548/3696|441/2100||-1765|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1764_441+1765insAAAAAAAA|p.?|554/7151|441/5655||-1765| GT:AD:DP:GQ 0/1:6,7:13:48 -17 41254405 . C T . . clinvar_vcv=VCV000264778.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1734G>A|p.?|554/7088|441/5592||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1734G>A|p.?|494/7028|300/5451||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1734G>A|p.?|460/3682|441/2280||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1734G>A|p.?|548/3696|441/2100||-1734|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1734G>A|p.?|554/7151|441/5655||-1734| GT:AD:DP:GQ 0/1:5,9:14:43 -17 41254486 . T G . . clinvar_vcv=VCV000209479.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1653A>C|p.?|554/7088|441/5592||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1653A>C|p.?|494/7028|300/5451||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1653A>C|p.?|460/3682|441/2280||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1653A>C|p.?|548/3696|441/2100||-1653|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1653A>C|p.?|554/7151|441/5655||-1653| GT:AD:DP:GQ 0/1:8,15:23:46 -17 41254965 . C CT . . clinvar_vcv=VCV000264845.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1173_441+1174insA|p.?|554/7088|441/5592||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1173_300+1174insA|p.?|494/7028|300/5451||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1173_441+1174insA|p.?|460/3682|441/2280||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1173_441+1174insA|p.?|548/3696|441/2100||-1174|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1173_441+1174insA|p.?|554/7151|441/5655||-1174| GT:AD:DP:GQ 0/1:14,8:22:22 -17 41255102 . A G . . clinvar_vcv=VCV000209483.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1037T>C|p.?|554/7088|441/5592||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1037T>C|p.?|494/7028|300/5451||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1037T>C|p.?|460/3682|441/2280||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1037T>C|p.?|548/3696|441/2100||-1037|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1037T>C|p.?|554/7151|441/5655||-1037| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 -17 41255111 . A T . . clinvar_vcv=VCV000209484.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1028T>A|p.?|554/7088|441/5592||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1028T>A|p.?|494/7028|300/5451||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1028T>A|p.?|460/3682|441/2280||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1028T>A|p.?|548/3696|441/2100||-1028|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1028T>A|p.?|554/7151|441/5655||-1028| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 -17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64delT|p.?|554/7088|441/5592||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64delT|p.?|494/7028|300/5451||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64delT|p.?|460/3682|441/2280||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64delT|p.?|548/3696|441/2100||-64|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64delT|p.?|554/7151|441/5655||-64| GT:AD:DP:GQ:PS 0|1:11,6:17:43:41256074 -17 41256089 . AAAAAAAAAGAAAAG A . . gnomad_exomes_an=28388;gnomad_exomes_hom=1079;gnomad_exomes_het=5744;gnomad_genomes_an=167932;gnomad_genomes_hom=9911;gnomad_genomes_het=23697;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|554/7088|441/5592||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+36_300+49delCTTTTCTTTTTTTT|p.?|494/7028|300/5451||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|460/3682|441/2280||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|548/3696|441/2100||-36|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+36_441+49delCTTTTCTTTTTTTT|p.?|554/7151|441/5655||-36| GT:AD:DP:GQ:PS 0|1:13,6:19:43:41256074 -17 41257134 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=4418;gnomad_exomes_het=6505;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125614.7;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-161A>G|p.?|326/7088|213/5592||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-161A>G|p.?|266/7028|72/5451||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-161A>G|p.?|232/3682|213/2280||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-161A>G|p.?|320/3696|213/2100||161|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-161A>G|p.?|326/7151|213/5655||161| GT:AD:DP:GQ 0/1:14,15:29:48 -17 41257458 . A C . . clinvar_vcv=VCV000209489.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-485T>G|p.?|326/7088|213/5592||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-485T>G|p.?|266/7028|72/5451||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-485T>G|p.?|232/3682|213/2280||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-485T>G|p.?|320/3696|213/2100||485|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-485T>G|p.?|326/7151|213/5655||485| GT:AD:DP:GQ 0/1:11,15:26:48 -17 41258043 . C T . . clinvar_vcv=VCV000209491.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+430G>A|p.?|325/7088|212/5592||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+430G>A|p.?|265/7028|71/5451||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+430G>A|p.?|231/3682|212/2280||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+430G>A|p.?|319/3696|212/2100||-430|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+430G>A|p.?|325/7151|212/5655||-430| GT:AD:DP:GQ 0/1:14,13:27:48 -17 41258135 . T TA . . ANN=TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+337_212+338insT|p.?|325/7088|212/5592||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+337_71+338insT|p.?|265/7028|71/5451||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+337_212+338insT|p.?|231/3682|212/2280||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+337_212+338insT|p.?|319/3696|212/2100||-338|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+337_212+338insT|p.?|325/7151|212/5655||-338| GT:AD:DP:GQ 1/1:3,11:14:4 -17 41259049 . C T . . clinvar_vcv=VCV000209494.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-499G>A|p.?|248/7088|135/5592||499|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-499G>A|p.?|188/7028|-7/5451||499|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-499G>A|p.?|154/3682|135/2280||499|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-499G>A|p.?|242/3696|135/2100||499|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-499G>A|p.?|248/7151|135/5655||499| GT:AD:DP:GQ 0/1:8,8:16:48 -17 41259079 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-530_135-529insAA|p.?|248/7088|135/5592||530|,ATT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-530_-7-529insAA|p.?|188/7028|-7/5451||530|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-530_135-529insAA|p.?|154/3682|135/2280||530|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-530_135-529insAA|p.?|242/3696|135/2100||530|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-530_135-529insAA|p.?|248/7151|135/5655||530| GT:AD:DP:GQ 0/1:10,3:13:7 -17 41259113 . G A . . clinvar_vcv=VCV000264811.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-563C>T|p.?|248/7088|135/5592||563|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-563C>T|p.?|188/7028|-7/5451||563|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-563C>T|p.?|154/3682|135/2280||563|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-563C>T|p.?|242/3696|135/2100||563|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-563C>T|p.?|248/7151|135/5655||563| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41260352 . C CA . . clinvar_vcv=VCV000264791.2;clinvar_germline_classification=Benign;ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-1803_135-1802insT|p.?|248/7088|135/5592||1803|,CA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-1803_-7-1802insT|p.?|188/7028|-7/5451||1803|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-1803_135-1802insT|p.?|154/3682|135/2280||1803|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-1803_135-1802insT|p.?|242/3696|135/2100||1803|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-1803_135-1802insT|p.?|248/7151|135/5655||1803| GT:AD:DP:GQ 0/1:11,8:19:43 -17 41260723 . C CAAAAA . . ANN=CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2174_135-2173insTTTTT|p.?|248/7088|135/5592||2174|,CAAAAA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2174_-7-2173insTTTTT|p.?|188/7028|-7/5451||2174|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2174_135-2173insTTTTT|p.?|154/3682|135/2280||2174|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2174_135-2173insTTTTT|p.?|242/3696|135/2100||2174|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2174_135-2173insTTTTT|p.?|248/7151|135/5655||2174| GT:AD:DP:GQ 0/1:1,1:2:20 -17 41260808 . A G . . clinvar_vcv=VCV000209499.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2258T>C|p.?|248/7088|135/5592||2258|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2258T>C|p.?|188/7028|-7/5451||2258|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2258T>C|p.?|154/3682|135/2280||2258|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2258T>C|p.?|242/3696|135/2100||2258|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2258T>C|p.?|248/7151|135/5655||2258| GT:AD:DP:GQ 0/1:12,3:15:32 -17 41261058 . T TCTATCTATCTACCTAC . . clinvar_vcv=VCV000264813.2;clinvar_germline_classification=Benign;ANN=TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7088|135/5592||2509|,TCTATCTATCTACCTAC|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2509_-7-2508insGTAGGTAGATAGATAG|p.?|188/7028|-7/5451||2509|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|154/3682|135/2280||2509|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|242/3696|135/2100||2509|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7151|135/5655||2509| GT:AD:DP:GQ 0/1:9,11:20:48 -17 41261233 . C T . . clinvar_vcv=VCV000209503.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2683G>A|p.?|248/7088|135/5592||2683|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2683G>A|p.?|188/7028|-7/5451||2683|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2683G>A|p.?|154/3682|135/2280||2683|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2683G>A|p.?|242/3696|135/2100||2683|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2683G>A|p.?|248/7151|135/5655||2683| GT:AD:DP:GQ 0/1:12,15:27:48 -17 41263044 . A G . . clinvar_vcv=VCV000209512.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4494T>C|p.?|248/7088|135/5592||4494|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4494T>C|p.?|188/7028|-7/5451||4494|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4494T>C|p.?|154/3682|135/2280||4494|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4494T>C|p.?|242/3696|135/2100||4494|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4494T>C|p.?|248/7151|135/5655||4494| GT:AD:DP:GQ 0/1:7,7:14:48 -17 41263117 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4568_135-4567insT|p.?|248/7088|135/5592||4568|,CA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4568_-7-4567insT|p.?|188/7028|-7/5451||4568|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4568_135-4567insT|p.?|154/3682|135/2280||4568|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4568_135-4567insT|p.?|242/3696|135/2100||4568|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4568_135-4567insT|p.?|248/7151|135/5655||4568| GT:AD:DP:GQ 0/1:13,10:23:34 -17 41263566 . T C . . clinvar_vcv=VCV000209516.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+4177A>G|p.?|247/7088|134/5592||-4177|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5016A>G|p.?|188/7028|-7/5451||5016|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+4177A>G|p.?|153/3682|134/2280||-4177|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+4177A>G|p.?|241/3696|134/2100||-4177|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+4177A>G|p.?|247/7151|134/5655||-4177| GT:AD:DP:GQ 0/1:11,8:19:48 -17 41264146 . G A . . clinvar_vcv=VCV000209519.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3597C>T|p.?|247/7088|134/5592||-3597|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5596C>T|p.?|188/7028|-7/5451||5596|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3597C>T|p.?|153/3682|134/2280||-3597|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3597C>T|p.?|241/3696|134/2100||-3597|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3597C>T|p.?|247/7151|134/5655||-3597| GT:AD:DP:GQ 0/1:13,7:20:45 -17 41264364 . A G . . clinvar_vcv=VCV000209521.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3379T>C|p.?|247/7088|134/5592||-3379|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5814T>C|p.?|188/7028|-7/5451||5814|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3379T>C|p.?|153/3682|134/2280||-3379|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3379T>C|p.?|241/3696|134/2100||-3379|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3379T>C|p.?|247/7151|134/5655||-3379| GT:AD:DP:GQ 0/1:8,16:24:45 -17 41264739 . C T . . clinvar_vcv=VCV000264785.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3004G>A|p.?|247/7088|134/5592||-3004|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6189G>A|p.?|188/7028|-7/5451||6189|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3004G>A|p.?|153/3682|134/2280||-3004|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3004G>A|p.?|241/3696|134/2100||-3004|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3004G>A|p.?|247/7151|134/5655||-3004| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264740 . TGA T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3001_134+3002delTC|p.?|247/7088|134/5592||-3001|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6192_-7-6191delTC|p.?|188/7028|-7/5451||6191|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3001_134+3002delTC|p.?|153/3682|134/2280||-3001|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3001_134+3002delTC|p.?|241/3696|134/2100||-3001|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3001_134+3002delTC|p.?|247/7151|134/5655||-3001| GT:AD:DP:GQ 0/1:14,16:30:48 -17 41264743 . CT C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2999delA|p.?|247/7088|134/5592||-2999|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6194delA|p.?|188/7028|-7/5451||6194|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2999delA|p.?|153/3682|134/2280||-2999|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2999delA|p.?|241/3696|134/2100||-2999|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2999delA|p.?|247/7151|134/5655||-2999| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264749 . C G . . clinvar_vcv=VCV000264823.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2994G>C|p.?|247/7088|134/5592||-2994|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6199G>C|p.?|188/7028|-7/5451||6199|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2994G>C|p.?|153/3682|134/2280||-2994|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2994G>C|p.?|241/3696|134/2100||-2994|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2994G>C|p.?|247/7151|134/5655||-2994| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264750 . A T . . clinvar_vcv=VCV000264824.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2993T>A|p.?|247/7088|134/5592||-2993|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6200T>A|p.?|188/7028|-7/5451||6200|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2993T>A|p.?|153/3682|134/2280||-2993|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2993T>A|p.?|241/3696|134/2100||-2993|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2993T>A|p.?|247/7151|134/5655||-2993| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264751 . A AGGG . . ANN=AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2991_134+2992insCCC|p.?|247/7088|134/5592||-2992|,AGGG|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6202_-7-6201insCCC|p.?|188/7028|-7/5451||6202|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2991_134+2992insCCC|p.?|153/3682|134/2280||-2992|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2991_134+2992insCCC|p.?|241/3696|134/2100||-2992|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2991_134+2992insCCC|p.?|247/7151|134/5655||-2992| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 -17 41264753 . C T . . clinvar_vcv=VCV000264819.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2990G>A|p.?|247/7088|134/5592||-2990|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6203G>A|p.?|188/7028|-7/5451||6203|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2990G>A|p.?|153/3682|134/2280||-2990|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2990G>A|p.?|241/3696|134/2100||-2990|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2990G>A|p.?|247/7151|134/5655||-2990| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 -17 41264755 . TGAAAC T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2983_134+2987delGTTTC|p.?|247/7088|134/5592||-2983|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6210_-7-6206delGTTTC|p.?|188/7028|-7/5451||6206|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2983_134+2987delGTTTC|p.?|153/3682|134/2280||-2983|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2983_134+2987delGTTTC|p.?|241/3696|134/2100||-2983|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2983_134+2987delGTTTC|p.?|247/7151|134/5655||-2983| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 -17 41265776 . A G . . clinvar_vcv=VCV000209524.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1967T>C|p.?|247/7088|134/5592||-1967|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7226T>C|p.?|188/7028|-7/5451||7226|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1967T>C|p.?|153/3682|134/2280||-1967|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1967T>C|p.?|241/3696|134/2100||-1967|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1967T>C|p.?|247/7151|134/5655||-1967| GT:AD:DP:GQ 0/1:23,14:37:44 -17 41266407 . C CT . . clinvar_vcv=VCV000264777.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1335_134+1336insA|p.?|247/7088|134/5592||-1336|,CT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7858_-7-7857insA|p.?|188/7028|-7/5451||7858|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1335_134+1336insA|p.?|153/3682|134/2280||-1336|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1335_134+1336insA|p.?|241/3696|134/2100||-1336|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1335_134+1336insA|p.?|247/7151|134/5655||-1336| GT:AD:DP:GQ 0/1:10,8:18:33 -17 41267050 . G A . . clinvar_vcv=VCV000209531.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+693C>T|p.?|247/7088|134/5592||-693|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-8500C>T|p.?|188/7028|-7/5451||8500|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+693C>T|p.?|153/3682|134/2280||-693|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+693C>T|p.?|241/3696|134/2100||-693|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+693C>T|p.?|247/7151|134/5655||-693| GT:AD:DP:GQ 0/1:7,16:23:44 -17 41267518 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+224delT|p.?|247/7088|134/5592||-224|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+8515delT|p.?|187/7028|-8/5451||-8515|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+224delT|p.?|153/3682|134/2280||-224|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+224delT|p.?|241/3696|134/2100||-224|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+224delT|p.?|247/7151|134/5655||-224| GT:AD:DP:GQ 0/1:11,8:19:35 -17 41268206 . A C . . clinvar_vcv=VCV000209537.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-410T>G|p.?|194/7088|81/5592||410|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7828T>G|p.?|187/7028|-8/5451||-7828|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-410T>G|p.?|100/3682|81/2280||410|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-410T>G|p.?|188/3696|81/2100||410|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-410T>G|p.?|194/7151|81/5655||410| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 -17 41268208 . C CT . . clinvar_vcv=VCV000264808.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-413_81-412insA|p.?|194/7088|81/5592||413|,CT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7825_-8+7826insA|p.?|187/7028|-8/5451||-7826|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-413_81-412insA|p.?|100/3682|81/2280||413|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-413_81-412insA|p.?|188/3696|81/2100||413|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-413_81-412insA|p.?|194/7151|81/5655||413| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 -17 41270229 . T G . . clinvar_vcv=VCV000209545.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2433A>C|p.?|194/7088|81/5592||2433|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5805A>C|p.?|187/7028|-8/5451||-5805|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2433A>C|p.?|100/3682|81/2280||2433|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2433A>C|p.?|188/3696|81/2100||2433|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2433A>C|p.?|194/7151|81/5655||2433| GT:AD:DP:GQ 0/1:7,17:24:40 -17 41270277 . C T . . clinvar_vcv=VCV000209547.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2481G>A|p.?|194/7088|81/5592||2481|,T|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5757G>A|p.?|187/7028|-8/5451||-5757|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2481G>A|p.?|100/3682|81/2280||2481|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2481G>A|p.?|188/3696|81/2100||2481|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2481G>A|p.?|194/7151|81/5655||2481| GT:AD:DP:GQ 0/1:9,13:22:48 -17 41270463 . G A . . clinvar_vcv=VCV000209551.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2667C>T|p.?|194/7088|81/5592||2667|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5571C>T|p.?|187/7028|-8/5451||-5571|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2667C>T|p.?|100/3682|81/2280||2667|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2667C>T|p.?|188/3696|81/2100||2667|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2667C>T|p.?|194/7151|81/5655||2667| GT:AD:DP:GQ 0/1:15,13:28:48 -17 41270666 . C A . . clinvar_vcv=VCV000209552.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2870G>T|p.?|194/7088|81/5592||2870|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5368G>T|p.?|187/7028|-8/5451||-5368|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2870G>T|p.?|100/3682|81/2280||2870|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2870G>T|p.?|188/3696|81/2100||2870|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2870G>T|p.?|194/7151|81/5655||2870| GT:AD:DP:GQ 0/1:11,4:15:43 -17 41270778 . C CT . . clinvar_vcv=VCV000264797.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2983_81-2982insA|p.?|194/7088|81/5592||2983|,CT|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5255_-8+5256insA|p.?|187/7028|-8/5451||-5256|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2983_81-2982insA|p.?|100/3682|81/2280||2983|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2983_81-2982insA|p.?|188/3696|81/2100||2983|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2983_81-2982insA|p.?|194/7151|81/5655||2983| GT:AD:DP:GQ 0/1:11,5:16:14 -17 41271293 . GA G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-3498delT|p.?|194/7088|81/5592||3498|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+4740delT|p.?|187/7028|-8/5451||-4740|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-3498delT|p.?|100/3682|81/2280||3498|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-3498delT|p.?|188/3696|81/2100||3498|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-3498delT|p.?|194/7151|81/5655||3498| GT:AD:DP:GQ 0/1:10,10:20:48 -17 41273095 . G A . . clinvar_vcv=VCV000209559.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2939C>T|p.?|193/7088|80/5592||-2939|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2939C>T|p.?|187/7028|-8/5451||-2939|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2939C>T|p.?|99/3682|80/2280||-2939|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2939C>T|p.?|187/3696|80/2100||-2939|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2939C>T|p.?|193/7151|80/5655||-2939| GT:AD:DP:GQ 0/1:12,8:20:47 -17 41273348 . T C . . clinvar_vcv=VCV000209561.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2686A>G|p.?|193/7088|80/5592||-2686|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2686A>G|p.?|187/7028|-8/5451||-2686|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2686A>G|p.?|99/3682|80/2280||-2686|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2686A>G|p.?|187/3696|80/2100||-2686|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2686A>G|p.?|193/7151|80/5655||-2686| GT:AD:DP:GQ 0/1:18,13:31:47 -17 41273379 . G C . . clinvar_vcv=VCV000209562.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2655C>G|p.?|193/7088|80/5592||-2655|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2655C>G|p.?|187/7028|-8/5451||-2655|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2655C>G|p.?|99/3682|80/2280||-2655|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2655C>G|p.?|187/3696|80/2100||-2655|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2655C>G|p.?|193/7151|80/5655||-2655| GT:AD:DP:GQ 0/1:19,14:33:47 -17 41273537 . A C . . clinvar_vcv=VCV000209564.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2497T>G|p.?|193/7088|80/5592||-2497|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2497T>G|p.?|187/7028|-8/5451||-2497|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2497T>G|p.?|99/3682|80/2280||-2497|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2497T>G|p.?|187/3696|80/2100||-2497|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2497T>G|p.?|193/7151|80/5655||-2497| GT:AD:DP:GQ 0/1:14,19:33:48 -17 41274778 . G A . . clinvar_vcv=VCV000209565.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1256C>T|p.?|193/7088|80/5592||-1256|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1256C>T|p.?|187/7028|-8/5451||-1256|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1256C>T|p.?|99/3682|80/2280||-1256|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1256C>T|p.?|187/3696|80/2100||-1256|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1256C>T|p.?|193/7151|80/5655||-1256| GT:AD:DP:GQ 0/1:11,16:27:48 -17 41274906 . G A . . clinvar_vcv=VCV000209568.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1128C>T|p.?|193/7088|80/5592||-1128|,A|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1128C>T|p.?|187/7028|-8/5451||-1128|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1128C>T|p.?|99/3682|80/2280||-1128|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1128C>T|p.?|187/3696|80/2100||-1128|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1128C>T|p.?|193/7151|80/5655||-1128| GT:AD:DP:GQ 0/1:17,10:27:47 -17 41275081 . G GA . . clinvar_vcv=VCV000209569.2;clinvar_germline_classification=Benign;ANN=GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+952_80+953insT|p.?|193/7088|80/5592||-953|,GA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+952_-8+953insT|p.?|187/7028|-8/5451||-953|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+952_80+953insT|p.?|99/3682|80/2280||-953|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+952_80+953insT|p.?|187/3696|80/2100||-953|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+952_80+953insT|p.?|193/7151|80/5655||-953| GT:AD:DP:GQ 0/1:10,12:22:47 -17 41275151 . G C . . clinvar_vcv=VCV000209570.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+883C>G|p.?|193/7088|80/5592||-883|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+883C>G|p.?|187/7028|-8/5451||-883|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+883C>G|p.?|99/3682|80/2280||-883|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+883C>G|p.?|187/3696|80/2100||-883|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+883C>G|p.?|193/7151|80/5655||-883| GT:AD:DP:GQ 0/1:15,13:28:48 -17 41275366 . GTTTTTTT G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+661_80+667delAAAAAAA|p.?|193/7088|80/5592||-661|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+661_-8+667delAAAAAAA|p.?|187/7028|-8/5451||-661|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+661_80+667delAAAAAAA|p.?|99/3682|80/2280||-661|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+661_80+667delAAAAAAA|p.?|187/3696|80/2100||-661|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+661_80+667delAAAAAAA|p.?|193/7151|80/5655||-661| GT:AD:DP:GQ 0/1:10,11:21:48 -17 41275645 . A G . . clinvar_vcv=VCV000209571.3;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+389T>C|p.?|193/7088|80/5592||-389|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+389T>C|p.?|187/7028|-8/5451||-389|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+389T>C|p.?|99/3682|80/2280||-389|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+389T>C|p.?|187/3696|80/2100||-389|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+389T>C|p.?|193/7151|80/5655||-389| GT:AD:DP:GQ 0/1:15,17:32:48 -17 41276247 . A G . . gnomad_exomes_an=31318;gnomad_exomes_hom=1611;gnomad_exomes_het=6702;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125468.4;clinvar_germline_classification=Benign;ANN=G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-115T>C|p.?|95/7088|-19/5592||115|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-115T>C|p.?|89/7028|-106/5451||115|,G|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||115|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-115T>C|p.?|89/3696|-19/2100||115|,G|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-115T>C|p.?|95/7151|-19/5655||115| GT:AD:DP:GQ 0/1:18,10:28:44 -17 41276348 . T C . . clinvar_vcv=VCV000209574.3;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-216A>G|p.?|95/7088|-19/5592||216|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-216A>G|p.?|89/7028|-106/5451||216|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||216|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-216A>G|p.?|89/3696|-19/2100||216|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-216A>G|p.?|95/7151|-19/5655||216| GT:AD:DP:GQ 0/1:17,13:30:47 -17 41277187 . G C . . gnomad_exomes_an=29432;gnomad_exomes_hom=4088;gnomad_exomes_het=6345;gnomad_genomes_an=128296;gnomad_genomes_hom=11705;gnomad_genomes_het=29182;clinvar_vcv=VCV000189123.4;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-20+101C>G|p.?|94/7088|-20/5592||-101|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-107+107C>G|p.?|88/7028|-107/5451||-107|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||1055|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-20+107C>G|p.?|88/3696|-20/2100||-107|,C|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-20+101C>G|p.?|94/7151|-20/5655||-101| GT:AD:DP:GQ 0/1:14,14:28:48 +17 41244000 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=1591;gnomad_exomes_het=6707;gnomad_genomes_an=250954;gnomad_genomes_hom=16402;gnomad_genomes_het=55703;clinvar_vcv=VCV000041818.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3548A>G|p.Lys1183Arg|3661/7088|3548/5592|1183/1864|0|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.3407A>G|p.Lys1136Arg|3601/7028|3407/5451|1136/1817|0|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-951A>G|p.?|807/3682|788/2280||951|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-951A>G|p.?|895/3696|788/2100||951|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3548A>G|p.Lys1183Arg|3661/7151|3548/5655|1183/1885|0|-1| GT:AD:DP:GQ 0/1:8,18:26:43 +17 41244435 . T C . . gnomad_exomes_an=31332;gnomad_exomes_hom=1505;gnomad_exomes_het=6415;gnomad_genomes_an=251032;gnomad_genomes_hom=16145;gnomad_genomes_het=55137;clinvar_vcv=VCV000041815.87;clinvar_germline_classification=Benign;ANN=C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.3113A>G|p.Glu1038Gly|3226/7088|3113/5592|1038/1864|0|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2972A>G|p.Glu991Gly|3166/7028|2972/5451|991/1817|0|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.788-1386A>G|p.?|807/3682|788/2280||1386|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.788-1386A>G|p.?|895/3696|788/2100||1386|-1|,C|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.3113A>G|p.Glu1038Gly|3226/7151|3113/5655|1038/1885|0|-1| GT:AD:DP:GQ 0/1:12,14:26:47 +17 41244936 . G A . . gnomad_exomes_an=31324;gnomad_exomes_hom=4287;gnomad_exomes_het=6594;gnomad_genomes_an=251034;gnomad_genomes_hom=22738;gnomad_genomes_het=55898;clinvar_vcv=VCV000041812.88;clinvar_germline_classification=Benign;ANN=A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2612C>T|p.Pro871Leu|2725/7088|2612/5592|871/1864|0|-1|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2471C>T|p.Pro824Leu|2665/7028|2471/5451|824/1817|0|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1825C>T|p.?|806/3682|787/2280||-1825|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1825C>T|p.?|894/3696|787/2100||-1825|-1|,A|missense_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2612C>T|p.Pro871Leu|2725/7151|2612/5655|871/1885|0|-1| GT:AD:DP:GQ 0/1:17,13:30:47 +17 41245237 . A G . . gnomad_exomes_an=31314;gnomad_exomes_hom=1492;gnomad_exomes_het=6416;gnomad_genomes_an=250946;gnomad_genomes_hom=16057;gnomad_genomes_het=55063;clinvar_vcv=VCV000125554.83;clinvar_germline_classification=Benign;ANN=G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2311T>C|p.Leu771=|2424/7088|2311/5592|771/1864|0|-1|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.2170T>C|p.Leu724=|2364/7028|2170/5451|724/1817|0|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1524T>C|p.?|806/3682|787/2280||-1524|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1524T>C|p.?|894/3696|787/2100||-1524|-1|,G|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2311T>C|p.Leu771=|2424/7151|2311/5655|771/1885|0|-1| GT:AD:DP:GQ 0/1:18,11:29:46 +17 41245466 . G A . . gnomad_exomes_an=31338;gnomad_exomes_hom=1602;gnomad_exomes_het=6709;gnomad_genomes_an=251110;gnomad_genomes_hom=16420;gnomad_genomes_het=55707;clinvar_vcv=VCV000125536.84;clinvar_germline_classification=Benign;ANN=A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|10/23|c.2082C>T|p.Ser694=|2195/7088|2082/5592|694/1864|0|-1|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|9/22|c.1941C>T|p.Ser647=|2135/7028|1941/5451|647/1817|0|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|9/21|c.787+1295C>T|p.?|806/3682|787/2280||-1295|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|10/21|c.787+1295C>T|p.?|894/3696|787/2100||-1295|-1|,A|synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|10/24|c.2082C>T|p.Ser694=|2195/7151|2082/5655|694/1885|0|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41247122 . A ACCT . . clinvar_vcv=VCV000127125.5;clinvar_germline_classification=Benign;ANN=ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.671-246_671-245insAGG|p.?|784/7088|671/5592||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.530-246_530-245insAGG|p.?|724/7028|530/5451||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.671-246_671-245insAGG|p.?|690/3682|671/2280||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.671-246_671-245insAGG|p.?|778/3696|671/2100||246|-1|,ACCT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.671-246_671-245insAGG|p.?|784/7151|671/5655||246|-1| GT:AD:DP:GQ 0/1:18,11:29:45 +17 41247604 . A C . . clinvar_vcv=VCV000209447.5;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|9/22|c.670+259T>G|p.?|783/7088|670/5592||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|8/21|c.529+259T>G|p.?|723/7028|529/5451||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|8/21|c.670+259T>G|p.?|689/3682|670/2280||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|9/21|c.670+259T>G|p.?|777/3696|670/2100||-259|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|9/23|c.670+259T>G|p.?|783/7151|670/5655||-259|-1| GT:AD:DP:GQ 0/1:12,11:23:47 +17 41248164 . C T . . clinvar_vcv=VCV000209449.4;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-225G>A|p.?|707/7088|594/5592||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-225G>A|p.?|647/7028|453/5451||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-225G>A|p.?|613/3682|594/2280||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-225G>A|p.?|701/3696|594/2100||225|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-225G>A|p.?|707/7151|594/5655||225|-1| GT:AD:DP:GQ 0/1:14,7:21:44 +17 41248393 . C CAAAAAAAAAA . . ANN=CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-455_594-454insTTTTTTTTTT|p.?|707/7088|594/5592||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-455_453-454insTTTTTTTTTT|p.?|647/7028|453/5451||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-455_594-454insTTTTTTTTTT|p.?|613/3682|594/2280||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-455_594-454insTTTTTTTTTT|p.?|701/3696|594/2100||455|-1|,CAAAAAAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-455_594-454insTTTTTTTTTT|p.?|707/7151|594/5655||455|-1| GT:AD:DP:GQ 0/1:9,7:16:48 +17 41248484 . G C . . clinvar_vcv=VCV000209450.4;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-545C>G|p.?|707/7088|594/5592||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-545C>G|p.?|647/7028|453/5451||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-545C>G|p.?|613/3682|594/2280||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-545C>G|p.?|701/3696|594/2100||545|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-545C>G|p.?|707/7151|594/5655||545|-1| GT:AD:DP:GQ 0/1:11,9:20:48 +17 41248588 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.594-650del|p.?|707/7088|594/5592||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.453-650del|p.?|647/7028|453/5451||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.594-650del|p.?|613/3682|594/2280||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.594-650del|p.?|701/3696|594/2100||650|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.594-650del|p.?|707/7151|594/5655||650|-1| GT:AD:DP:GQ 0/1:9,10:19:42 +17 41249094 . A G . . gnomad_exomes_an=31332;gnomad_exomes_hom=1602;gnomad_exomes_het=6703;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000209451.5;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/22|c.593+167T>C|p.?|706/7088|593/5592||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/21|c.452+167T>C|p.?|646/7028|452/5451||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/21|c.593+167T>C|p.?|612/3682|593/2280||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/21|c.593+167T>C|p.?|700/3696|593/2100||-167|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/23|c.593+167T>C|p.?|706/7151|593/5655||-167|-1| GT:AD:DP:GQ 0/1:9,7:16:48 +17 41249363 . TA T . . gnomad_exomes_an=31286;gnomad_exomes_hom=1497;gnomad_exomes_het=6409;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-58del|p.?|661/7088|548/5592||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-58del|p.?|601/7028|407/5451||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-58del|p.?|567/3682|548/2280||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-58del|p.?|655/3696|548/2100||58|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-58del|p.?|661/7151|548/5655||58|-1| GT:AD:DP:GQ 0/1:12,13:25:48 +17 41250047 . C CT . . ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.548-742_548-741insA|p.?|661/7088|548/5592||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.407-742_407-741insA|p.?|601/7028|407/5451||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.548-742_548-741insA|p.?|567/3682|548/2280||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.548-742_548-741insA|p.?|655/3696|548/2100||742|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.548-742_548-741insA|p.?|661/7151|548/5655||742|-1| GT:AD:DP:GQ 0/1:13,7:20:18 +17 41250678 . C CT . . clinvar_vcv=VCV000209458.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+1113_547+1114insA|p.?|660/7088|547/5592||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+1113_406+1114insA|p.?|600/7028|406/5451||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+1113_547+1114insA|p.?|566/3682|547/2280||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+1113_547+1114insA|p.?|654/3696|547/2100||-1114|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+1113_547+1114insA|p.?|660/7151|547/5655||-1114|-1| GT:AD:DP:GQ 0/1:6,16:22:42 +17 41250923 . T C . . clinvar_vcv=VCV000209460.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+869A>G|p.?|660/7088|547/5592||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+869A>G|p.?|600/7028|406/5451||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+869A>G|p.?|566/3682|547/2280||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+869A>G|p.?|654/3696|547/2100||-869|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+869A>G|p.?|660/7151|547/5655||-869|-1| GT:AD:DP:GQ 0/1:13,9:22:47 +17 41251495 . C G . . clinvar_vcv=VCV000209463.4;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+297G>C|p.?|660/7088|547/5592||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+297G>C|p.?|600/7028|406/5451||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+297G>C|p.?|566/3682|547/2280||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+297G>C|p.?|654/3696|547/2100||-297|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+297G>C|p.?|660/7151|547/5655||-297|-1| GT:AD:DP:GQ 0/1:11,15:26:48 +17 41251646 . T A . . gnomad_exomes_an=31294;gnomad_exomes_hom=1592;gnomad_exomes_het=6693;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125879.7;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|7/22|c.547+146A>T|p.?|660/7088|547/5592||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|6/21|c.406+146A>T|p.?|600/7028|406/5451||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|6/21|c.547+146A>T|p.?|566/3682|547/2280||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|7/21|c.547+146A>T|p.?|654/3696|547/2100||-146|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|7/23|c.547+146A>T|p.?|660/7151|547/5655||-146|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41252575 . G A . . clinvar_vcv=VCV000209466.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-678C>T|p.?|555/7088|442/5592||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-678C>T|p.?|495/7028|301/5451||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-678C>T|p.?|461/3682|442/2280||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-678C>T|p.?|549/3696|442/2100||678|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-678C>T|p.?|555/7151|442/5655||678|-1| GT:AD:DP:GQ:PS 1|1:0,3:3:5:41252575 +17 41252591 . C CAT . . clinvar_vcv=VCV000264796.2;clinvar_germline_classification=Benign;ANN=CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-695_442-694insAT|p.?|555/7088|442/5592||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-695_301-694insAT|p.?|495/7028|301/5451||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-695_442-694insAT|p.?|461/3682|442/2280||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-695_442-694insAT|p.?|549/3696|442/2100||695|-1|,CAT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-695_442-694insAT|p.?|555/7151|442/5655||695|-1| GT:AD:DP:GQ:PS 1|1:0,2:2:4:41252575 +17 41254174 . A G . . clinvar_vcv=VCV000209478.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1965T>C|p.?|554/7088|441/5592||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1965T>C|p.?|494/7028|300/5451||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1965T>C|p.?|460/3682|441/2280||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1965T>C|p.?|548/3696|441/2100||-1965|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1965T>C|p.?|554/7151|441/5655||-1965|-1| GT:AD:DP:GQ 0/1:14,13:27:48 +17 41254374 . C CTTTTTTTT . . ANN=CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1764_441+1765insAAAAAAAA|p.?|554/7088|441/5592||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1764_300+1765insAAAAAAAA|p.?|494/7028|300/5451||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1764_441+1765insAAAAAAAA|p.?|460/3682|441/2280||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1764_441+1765insAAAAAAAA|p.?|548/3696|441/2100||-1765|-1|,CTTTTTTTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1764_441+1765insAAAAAAAA|p.?|554/7151|441/5655||-1765|-1| GT:AD:DP:GQ 0/1:6,7:13:48 +17 41254405 . C T . . clinvar_vcv=VCV000264778.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1734G>A|p.?|554/7088|441/5592||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1734G>A|p.?|494/7028|300/5451||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1734G>A|p.?|460/3682|441/2280||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1734G>A|p.?|548/3696|441/2100||-1734|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1734G>A|p.?|554/7151|441/5655||-1734|-1| GT:AD:DP:GQ 0/1:5,9:14:43 +17 41254486 . T G . . clinvar_vcv=VCV000209479.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1653A>C|p.?|554/7088|441/5592||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1653A>C|p.?|494/7028|300/5451||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1653A>C|p.?|460/3682|441/2280||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1653A>C|p.?|548/3696|441/2100||-1653|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1653A>C|p.?|554/7151|441/5655||-1653|-1| GT:AD:DP:GQ 0/1:8,15:23:46 +17 41254965 . C CT . . clinvar_vcv=VCV000264845.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1173_441+1174insA|p.?|554/7088|441/5592||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1173_300+1174insA|p.?|494/7028|300/5451||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1173_441+1174insA|p.?|460/3682|441/2280||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1173_441+1174insA|p.?|548/3696|441/2100||-1174|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1173_441+1174insA|p.?|554/7151|441/5655||-1174|-1| GT:AD:DP:GQ 0/1:14,8:22:22 +17 41255102 . A G . . clinvar_vcv=VCV000209483.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1037T>C|p.?|554/7088|441/5592||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1037T>C|p.?|494/7028|300/5451||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1037T>C|p.?|460/3682|441/2280||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1037T>C|p.?|548/3696|441/2100||-1037|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1037T>C|p.?|554/7151|441/5655||-1037|-1| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 +17 41255111 . A T . . clinvar_vcv=VCV000209484.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1028T>A|p.?|554/7088|441/5592||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1028T>A|p.?|494/7028|300/5451||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1028T>A|p.?|460/3682|441/2280||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1028T>A|p.?|548/3696|441/2100||-1028|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1028T>A|p.?|554/7151|441/5655||-1028|-1| GT:AD:DP:GQ:PS 0|1:19,12:31:46:41255102 +17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64del|p.?|554/7088|441/5592||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64del|p.?|494/7028|300/5451||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64del|p.?|460/3682|441/2280||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64del|p.?|548/3696|441/2100||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64del|p.?|554/7151|441/5655||-64|-1| GT:AD:DP:GQ:PS 0|1:11,6:17:43:41256074 +17 41256089 . AAAAAAAAAGAAAAG A . . gnomad_exomes_an=28388;gnomad_exomes_hom=1079;gnomad_exomes_het=5744;gnomad_genomes_an=167932;gnomad_genomes_hom=9911;gnomad_genomes_het=23697;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+36_441+49del|p.?|554/7088|441/5592||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+36_300+49del|p.?|494/7028|300/5451||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+36_441+49del|p.?|460/3682|441/2280||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+36_441+49del|p.?|548/3696|441/2100||-36|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+36_441+49del|p.?|554/7151|441/5655||-36|-1| GT:AD:DP:GQ:PS 0|1:13,6:19:43:41256074 +17 41257134 . T C . . gnomad_exomes_an=31346;gnomad_exomes_hom=4418;gnomad_exomes_het=6505;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125614.7;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-161A>G|p.?|326/7088|213/5592||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-161A>G|p.?|266/7028|72/5451||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-161A>G|p.?|232/3682|213/2280||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-161A>G|p.?|320/3696|213/2100||161|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-161A>G|p.?|326/7151|213/5655||161|-1| GT:AD:DP:GQ 0/1:14,15:29:48 +17 41257458 . A C . . clinvar_vcv=VCV000209489.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.213-485T>G|p.?|326/7088|213/5592||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.72-485T>G|p.?|266/7028|72/5451||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.213-485T>G|p.?|232/3682|213/2280||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.213-485T>G|p.?|320/3696|213/2100||485|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.213-485T>G|p.?|326/7151|213/5655||485|-1| GT:AD:DP:GQ 0/1:11,15:26:48 +17 41258043 . C T . . clinvar_vcv=VCV000209491.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+430G>A|p.?|325/7088|212/5592||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+430G>A|p.?|265/7028|71/5451||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+430G>A|p.?|231/3682|212/2280||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+430G>A|p.?|319/3696|212/2100||-430|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+430G>A|p.?|325/7151|212/5655||-430|-1| GT:AD:DP:GQ 0/1:14,13:27:48 +17 41258135 . T TA . . ANN=TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|4/22|c.212+337_212+338insT|p.?|325/7088|212/5592||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|3/21|c.71+337_71+338insT|p.?|265/7028|71/5451||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|3/21|c.212+337_212+338insT|p.?|231/3682|212/2280||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|4/21|c.212+337_212+338insT|p.?|319/3696|212/2100||-338|-1|,TA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|4/23|c.212+337_212+338insT|p.?|325/7151|212/5655||-338|-1| GT:AD:DP:GQ 1/1:3,11:14:4 +17 41259049 . C T . . clinvar_vcv=VCV000209494.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-499G>A|p.?|248/7088|135/5592||499|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-499G>A|p.?|188/7028|-7/5451||499|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-499G>A|p.?|154/3682|135/2280||499|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-499G>A|p.?|242/3696|135/2100||499|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-499G>A|p.?|248/7151|135/5655||499|-1| GT:AD:DP:GQ 0/1:8,8:16:48 +17 41259079 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-530_135-529insAA|p.?|248/7088|135/5592||530|-1|,ATT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-530_-7-529insAA|p.?|188/7028|-7/5451||530|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-530_135-529insAA|p.?|154/3682|135/2280||530|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-530_135-529insAA|p.?|242/3696|135/2100||530|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-530_135-529insAA|p.?|248/7151|135/5655||530|-1| GT:AD:DP:GQ 0/1:10,3:13:7 +17 41259113 . G A . . clinvar_vcv=VCV000264811.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-563C>T|p.?|248/7088|135/5592||563|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-563C>T|p.?|188/7028|-7/5451||563|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-563C>T|p.?|154/3682|135/2280||563|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-563C>T|p.?|242/3696|135/2100||563|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-563C>T|p.?|248/7151|135/5655||563|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41260352 . C CA . . clinvar_vcv=VCV000264791.2;clinvar_germline_classification=Benign;ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-1803_135-1802insT|p.?|248/7088|135/5592||1803|-1|,CA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-1803_-7-1802insT|p.?|188/7028|-7/5451||1803|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-1803_135-1802insT|p.?|154/3682|135/2280||1803|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-1803_135-1802insT|p.?|242/3696|135/2100||1803|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-1803_135-1802insT|p.?|248/7151|135/5655||1803|-1| GT:AD:DP:GQ 0/1:11,8:19:43 +17 41260723 . C CAAAAA . . ANN=CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2174_135-2173insTTTTT|p.?|248/7088|135/5592||2174|-1|,CAAAAA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2174_-7-2173insTTTTT|p.?|188/7028|-7/5451||2174|-1|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2174_135-2173insTTTTT|p.?|154/3682|135/2280||2174|-1|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2174_135-2173insTTTTT|p.?|242/3696|135/2100||2174|-1|,CAAAAA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2174_135-2173insTTTTT|p.?|248/7151|135/5655||2174|-1| GT:AD:DP:GQ 0/1:1,1:2:20 +17 41260808 . A G . . clinvar_vcv=VCV000209499.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2258T>C|p.?|248/7088|135/5592||2258|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2258T>C|p.?|188/7028|-7/5451||2258|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2258T>C|p.?|154/3682|135/2280||2258|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2258T>C|p.?|242/3696|135/2100||2258|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2258T>C|p.?|248/7151|135/5655||2258|-1| GT:AD:DP:GQ 0/1:12,3:15:32 +17 41261058 . T TCTATCTATCTACCTAC . . clinvar_vcv=VCV000264813.2;clinvar_germline_classification=Benign;ANN=TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7088|135/5592||2509|-1|,TCTATCTATCTACCTAC|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2509_-7-2508insGTAGGTAGATAGATAG|p.?|188/7028|-7/5451||2509|-1|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|154/3682|135/2280||2509|-1|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|242/3696|135/2100||2509|-1|,TCTATCTATCTACCTAC|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2509_135-2508insGTAGGTAGATAGATAG|p.?|248/7151|135/5655||2509|-1| GT:AD:DP:GQ 0/1:9,11:20:48 +17 41261233 . C T . . clinvar_vcv=VCV000209503.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-2683G>A|p.?|248/7088|135/5592||2683|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-2683G>A|p.?|188/7028|-7/5451||2683|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-2683G>A|p.?|154/3682|135/2280||2683|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-2683G>A|p.?|242/3696|135/2100||2683|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-2683G>A|p.?|248/7151|135/5655||2683|-1| GT:AD:DP:GQ 0/1:12,15:27:48 +17 41263044 . A G . . clinvar_vcv=VCV000209512.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4494T>C|p.?|248/7088|135/5592||4494|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4494T>C|p.?|188/7028|-7/5451||4494|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4494T>C|p.?|154/3682|135/2280||4494|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4494T>C|p.?|242/3696|135/2100||4494|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4494T>C|p.?|248/7151|135/5655||4494|-1| GT:AD:DP:GQ 0/1:7,7:14:48 +17 41263117 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.135-4568_135-4567insT|p.?|248/7088|135/5592||4568|-1|,CA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-4568_-7-4567insT|p.?|188/7028|-7/5451||4568|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.135-4568_135-4567insT|p.?|154/3682|135/2280||4568|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.135-4568_135-4567insT|p.?|242/3696|135/2100||4568|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.135-4568_135-4567insT|p.?|248/7151|135/5655||4568|-1| GT:AD:DP:GQ 0/1:13,10:23:34 +17 41263566 . T C . . clinvar_vcv=VCV000209516.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+4177A>G|p.?|247/7088|134/5592||-4177|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5016A>G|p.?|188/7028|-7/5451||5016|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+4177A>G|p.?|153/3682|134/2280||-4177|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+4177A>G|p.?|241/3696|134/2100||-4177|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+4177A>G|p.?|247/7151|134/5655||-4177|-1| GT:AD:DP:GQ 0/1:11,8:19:48 +17 41264146 . G A . . clinvar_vcv=VCV000209519.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3597C>T|p.?|247/7088|134/5592||-3597|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5596C>T|p.?|188/7028|-7/5451||5596|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3597C>T|p.?|153/3682|134/2280||-3597|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3597C>T|p.?|241/3696|134/2100||-3597|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3597C>T|p.?|247/7151|134/5655||-3597|-1| GT:AD:DP:GQ 0/1:13,7:20:45 +17 41264364 . A G . . clinvar_vcv=VCV000209521.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3379T>C|p.?|247/7088|134/5592||-3379|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-5814T>C|p.?|188/7028|-7/5451||5814|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3379T>C|p.?|153/3682|134/2280||-3379|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3379T>C|p.?|241/3696|134/2100||-3379|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3379T>C|p.?|247/7151|134/5655||-3379|-1| GT:AD:DP:GQ 0/1:8,16:24:45 +17 41264739 . C T . . clinvar_vcv=VCV000264785.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3004G>A|p.?|247/7088|134/5592||-3004|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6189G>A|p.?|188/7028|-7/5451||6189|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3004G>A|p.?|153/3682|134/2280||-3004|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3004G>A|p.?|241/3696|134/2100||-3004|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3004G>A|p.?|247/7151|134/5655||-3004|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264740 . TGA T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+3001_134+3002del|p.?|247/7088|134/5592||-3001|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6192_-7-6191del|p.?|188/7028|-7/5451||6191|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+3001_134+3002del|p.?|153/3682|134/2280||-3001|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+3001_134+3002del|p.?|241/3696|134/2100||-3001|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+3001_134+3002del|p.?|247/7151|134/5655||-3001|-1| GT:AD:DP:GQ 0/1:14,16:30:48 +17 41264743 . CT C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2999del|p.?|247/7088|134/5592||-2999|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6194del|p.?|188/7028|-7/5451||6194|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2999del|p.?|153/3682|134/2280||-2999|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2999del|p.?|241/3696|134/2100||-2999|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2999del|p.?|247/7151|134/5655||-2999|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264749 . C G . . clinvar_vcv=VCV000264823.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2994G>C|p.?|247/7088|134/5592||-2994|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6199G>C|p.?|188/7028|-7/5451||6199|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2994G>C|p.?|153/3682|134/2280||-2994|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2994G>C|p.?|241/3696|134/2100||-2994|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2994G>C|p.?|247/7151|134/5655||-2994|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264750 . A T . . clinvar_vcv=VCV000264824.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2993T>A|p.?|247/7088|134/5592||-2993|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6200T>A|p.?|188/7028|-7/5451||6200|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2993T>A|p.?|153/3682|134/2280||-2993|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2993T>A|p.?|241/3696|134/2100||-2993|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2993T>A|p.?|247/7151|134/5655||-2993|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264751 . A AGGG . . ANN=AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2991_134+2992insCCC|p.?|247/7088|134/5592||-2992|-1|,AGGG|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6202_-7-6201insCCC|p.?|188/7028|-7/5451||6202|-1|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2991_134+2992insCCC|p.?|153/3682|134/2280||-2992|-1|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2991_134+2992insCCC|p.?|241/3696|134/2100||-2992|-1|,AGGG|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2991_134+2992insCCC|p.?|247/7151|134/5655||-2992|-1| GT:AD:DP:GQ:PS 0|1:14,15:29:48:41264739 +17 41264753 . C T . . clinvar_vcv=VCV000264819.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2990G>A|p.?|247/7088|134/5592||-2990|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6203G>A|p.?|188/7028|-7/5451||6203|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2990G>A|p.?|153/3682|134/2280||-2990|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2990G>A|p.?|241/3696|134/2100||-2990|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2990G>A|p.?|247/7151|134/5655||-2990|-1| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 +17 41264755 . TGAAAC T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+2983_134+2987del|p.?|247/7088|134/5592||-2983|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-6210_-7-6206del|p.?|188/7028|-7/5451||6206|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+2983_134+2987del|p.?|153/3682|134/2280||-2983|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+2983_134+2987del|p.?|241/3696|134/2100||-2983|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+2983_134+2987del|p.?|247/7151|134/5655||-2983|-1| GT:AD:DP:GQ:PS 0|1:14,13:27:48:41264739 +17 41265776 . A G . . clinvar_vcv=VCV000209524.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1967T>C|p.?|247/7088|134/5592||-1967|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7226T>C|p.?|188/7028|-7/5451||7226|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1967T>C|p.?|153/3682|134/2280||-1967|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1967T>C|p.?|241/3696|134/2100||-1967|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1967T>C|p.?|247/7151|134/5655||-1967|-1| GT:AD:DP:GQ 0/1:23,14:37:44 +17 41266407 . C CT . . clinvar_vcv=VCV000264777.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+1335_134+1336insA|p.?|247/7088|134/5592||-1336|-1|,CT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-7858_-7-7857insA|p.?|188/7028|-7/5451||7858|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+1335_134+1336insA|p.?|153/3682|134/2280||-1336|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+1335_134+1336insA|p.?|241/3696|134/2100||-1336|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+1335_134+1336insA|p.?|247/7151|134/5655||-1336|-1| GT:AD:DP:GQ 0/1:10,8:18:33 +17 41267050 . G A . . clinvar_vcv=VCV000209531.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+693C>T|p.?|247/7088|134/5592||-693|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-7-8500C>T|p.?|188/7028|-7/5451||8500|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+693C>T|p.?|153/3682|134/2280||-693|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+693C>T|p.?|241/3696|134/2100||-693|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+693C>T|p.?|247/7151|134/5655||-693|-1| GT:AD:DP:GQ 0/1:7,16:23:44 +17 41267518 . CA C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|3/22|c.134+224del|p.?|247/7088|134/5592||-224|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+8515del|p.?|187/7028|-8/5451||-8515|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|2/21|c.134+224del|p.?|153/3682|134/2280||-224|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|3/21|c.134+224del|p.?|241/3696|134/2100||-224|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|3/23|c.134+224del|p.?|247/7151|134/5655||-224|-1| GT:AD:DP:GQ 0/1:11,8:19:35 +17 41268206 . A C . . clinvar_vcv=VCV000209537.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-410T>G|p.?|194/7088|81/5592||410|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7828T>G|p.?|187/7028|-8/5451||-7828|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-410T>G|p.?|100/3682|81/2280||410|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-410T>G|p.?|188/3696|81/2100||410|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-410T>G|p.?|194/7151|81/5655||410|-1| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 +17 41268208 . C CT . . clinvar_vcv=VCV000264808.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-413_81-412insA|p.?|194/7088|81/5592||413|-1|,CT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+7825_-8+7826insA|p.?|187/7028|-8/5451||-7826|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-413_81-412insA|p.?|100/3682|81/2280||413|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-413_81-412insA|p.?|188/3696|81/2100||413|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-413_81-412insA|p.?|194/7151|81/5655||413|-1| GT:AD:DP:GQ:PS 0|1:13,9:22:46:41268206 +17 41270229 . T G . . clinvar_vcv=VCV000209545.2;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2433A>C|p.?|194/7088|81/5592||2433|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5805A>C|p.?|187/7028|-8/5451||-5805|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2433A>C|p.?|100/3682|81/2280||2433|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2433A>C|p.?|188/3696|81/2100||2433|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2433A>C|p.?|194/7151|81/5655||2433|-1| GT:AD:DP:GQ 0/1:7,17:24:40 +17 41270277 . C T . . clinvar_vcv=VCV000209547.2;clinvar_germline_classification=Benign;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2481G>A|p.?|194/7088|81/5592||2481|-1|,T|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5757G>A|p.?|187/7028|-8/5451||-5757|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2481G>A|p.?|100/3682|81/2280||2481|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2481G>A|p.?|188/3696|81/2100||2481|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2481G>A|p.?|194/7151|81/5655||2481|-1| GT:AD:DP:GQ 0/1:9,13:22:48 +17 41270463 . G A . . clinvar_vcv=VCV000209551.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2667C>T|p.?|194/7088|81/5592||2667|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5571C>T|p.?|187/7028|-8/5451||-5571|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2667C>T|p.?|100/3682|81/2280||2667|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2667C>T|p.?|188/3696|81/2100||2667|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2667C>T|p.?|194/7151|81/5655||2667|-1| GT:AD:DP:GQ 0/1:15,13:28:48 +17 41270666 . C A . . clinvar_vcv=VCV000209552.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2870G>T|p.?|194/7088|81/5592||2870|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5368G>T|p.?|187/7028|-8/5451||-5368|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2870G>T|p.?|100/3682|81/2280||2870|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2870G>T|p.?|188/3696|81/2100||2870|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2870G>T|p.?|194/7151|81/5655||2870|-1| GT:AD:DP:GQ 0/1:11,4:15:43 +17 41270778 . C CT . . clinvar_vcv=VCV000264797.2;clinvar_germline_classification=Benign;ANN=CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-2983_81-2982insA|p.?|194/7088|81/5592||2983|-1|,CT|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+5255_-8+5256insA|p.?|187/7028|-8/5451||-5256|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-2983_81-2982insA|p.?|100/3682|81/2280||2983|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-2983_81-2982insA|p.?|188/3696|81/2100||2983|-1|,CT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-2983_81-2982insA|p.?|194/7151|81/5655||2983|-1| GT:AD:DP:GQ 0/1:11,5:16:14 +17 41271293 . GA G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.81-3498del|p.?|194/7088|81/5592||3498|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+4740del|p.?|187/7028|-8/5451||-4740|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.81-3498del|p.?|100/3682|81/2280||3498|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.81-3498del|p.?|188/3696|81/2100||3498|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.81-3498del|p.?|194/7151|81/5655||3498|-1| GT:AD:DP:GQ 0/1:10,10:20:48 +17 41273095 . G A . . clinvar_vcv=VCV000209559.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2939C>T|p.?|193/7088|80/5592||-2939|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2939C>T|p.?|187/7028|-8/5451||-2939|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2939C>T|p.?|99/3682|80/2280||-2939|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2939C>T|p.?|187/3696|80/2100||-2939|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2939C>T|p.?|193/7151|80/5655||-2939|-1| GT:AD:DP:GQ 0/1:12,8:20:47 +17 41273348 . T C . . clinvar_vcv=VCV000209561.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2686A>G|p.?|193/7088|80/5592||-2686|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2686A>G|p.?|187/7028|-8/5451||-2686|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2686A>G|p.?|99/3682|80/2280||-2686|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2686A>G|p.?|187/3696|80/2100||-2686|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2686A>G|p.?|193/7151|80/5655||-2686|-1| GT:AD:DP:GQ 0/1:18,13:31:47 +17 41273379 . G C . . clinvar_vcv=VCV000209562.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2655C>G|p.?|193/7088|80/5592||-2655|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2655C>G|p.?|187/7028|-8/5451||-2655|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2655C>G|p.?|99/3682|80/2280||-2655|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2655C>G|p.?|187/3696|80/2100||-2655|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2655C>G|p.?|193/7151|80/5655||-2655|-1| GT:AD:DP:GQ 0/1:19,14:33:47 +17 41273537 . A C . . clinvar_vcv=VCV000209564.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2497T>G|p.?|193/7088|80/5592||-2497|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2497T>G|p.?|187/7028|-8/5451||-2497|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2497T>G|p.?|99/3682|80/2280||-2497|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2497T>G|p.?|187/3696|80/2100||-2497|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2497T>G|p.?|193/7151|80/5655||-2497|-1| GT:AD:DP:GQ 0/1:14,19:33:48 +17 41274778 . G A . . clinvar_vcv=VCV000209565.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1256C>T|p.?|193/7088|80/5592||-1256|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1256C>T|p.?|187/7028|-8/5451||-1256|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1256C>T|p.?|99/3682|80/2280||-1256|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1256C>T|p.?|187/3696|80/2100||-1256|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1256C>T|p.?|193/7151|80/5655||-1256|-1| GT:AD:DP:GQ 0/1:11,16:27:48 +17 41274906 . G A . . clinvar_vcv=VCV000209568.2;clinvar_germline_classification=Benign;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+1128C>T|p.?|193/7088|80/5592||-1128|-1|,A|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+1128C>T|p.?|187/7028|-8/5451||-1128|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+1128C>T|p.?|99/3682|80/2280||-1128|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+1128C>T|p.?|187/3696|80/2100||-1128|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+1128C>T|p.?|193/7151|80/5655||-1128|-1| GT:AD:DP:GQ 0/1:17,10:27:47 +17 41275081 . G GA . . clinvar_vcv=VCV000209569.2;clinvar_germline_classification=Benign;ANN=GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+952_80+953insT|p.?|193/7088|80/5592||-953|-1|,GA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+952_-8+953insT|p.?|187/7028|-8/5451||-953|-1|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+952_80+953insT|p.?|99/3682|80/2280||-953|-1|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+952_80+953insT|p.?|187/3696|80/2100||-953|-1|,GA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+952_80+953insT|p.?|193/7151|80/5655||-953|-1| GT:AD:DP:GQ 0/1:10,12:22:47 +17 41275151 . G C . . clinvar_vcv=VCV000209570.2;clinvar_germline_classification=Benign;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+883C>G|p.?|193/7088|80/5592||-883|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+883C>G|p.?|187/7028|-8/5451||-883|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+883C>G|p.?|99/3682|80/2280||-883|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+883C>G|p.?|187/3696|80/2100||-883|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+883C>G|p.?|193/7151|80/5655||-883|-1| GT:AD:DP:GQ 0/1:15,13:28:48 +17 41275366 . GTTTTTTT G . . ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+661_80+667del|p.?|193/7088|80/5592||-661|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+661_-8+667del|p.?|187/7028|-8/5451||-661|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+661_80+667del|p.?|99/3682|80/2280||-661|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+661_80+667del|p.?|187/3696|80/2100||-661|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+661_80+667del|p.?|193/7151|80/5655||-661|-1| GT:AD:DP:GQ 0/1:10,11:21:48 +17 41275645 . A G . . clinvar_vcv=VCV000209571.3;clinvar_germline_classification=Benign;ANN=G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+389T>C|p.?|193/7088|80/5592||-389|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+389T>C|p.?|187/7028|-8/5451||-389|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+389T>C|p.?|99/3682|80/2280||-389|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+389T>C|p.?|187/3696|80/2100||-389|-1|,G|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+389T>C|p.?|193/7151|80/5655||-389|-1| GT:AD:DP:GQ 0/1:15,17:32:48 +17 41276247 . A G . . gnomad_exomes_an=31318;gnomad_exomes_hom=1611;gnomad_exomes_het=6702;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;clinvar_vcv=VCV000125468.4;clinvar_germline_classification=Benign;ANN=G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-115T>C|p.?|95/7088|-19/5592||115|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-115T>C|p.?|89/7028|-106/5451||115|-1|,G|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||115|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-115T>C|p.?|89/3696|-19/2100||115|-1|,G|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-115T>C|p.?|95/7151|-19/5655||115|-1| GT:AD:DP:GQ 0/1:18,10:28:44 +17 41276348 . T C . . clinvar_vcv=VCV000209574.3;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-19-216A>G|p.?|95/7088|-19/5592||216|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-106-216A>G|p.?|89/7028|-106/5451||216|-1|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||216|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-19-216A>G|p.?|89/3696|-19/2100||216|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-19-216A>G|p.?|95/7151|-19/5655||216|-1| GT:AD:DP:GQ 0/1:17,13:30:47 +17 41277187 . G C . . gnomad_exomes_an=29432;gnomad_exomes_hom=4088;gnomad_exomes_het=6345;gnomad_genomes_an=128296;gnomad_genomes_hom=11705;gnomad_genomes_het=29182;clinvar_vcv=VCV000189123.4;clinvar_germline_classification=Benign;ANN=C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|1/22|c.-20+101C>G|p.?|94/7088|-20/5592||-101|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|1/21|c.-107+107C>G|p.?|88/7028|-107/5451||-107|-1|,C|upstream_gene_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|||||||1055|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|1/21|c.-20+107C>G|p.?|88/3696|-20/2100||-107|-1|,C|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|1/23|c.-20+101C>G|p.?|94/7151|-20/5655||-101|-1| GT:AD:DP:GQ 0/1:14,14:28:48 MT 152 . T C . . . GT:GQ:AD:DP 1/1:98:2,10582:10584 MT 263 . A G . . clinvar_vcv=VCV000441147.1;clinvar_germline_classification=not provided GT:GQ:AD:DP 1/1:98:0,7628:7628 MT 302 . A AC . . . GT:GQ:AD:DP 1/1:97:40,3496:3536 diff --git a/src/seqvars/prefilter/mod.rs b/src/seqvars/prefilter/mod.rs index 1b29059e..0bfa625d 100644 --- a/src/seqvars/prefilter/mod.rs +++ b/src/seqvars/prefilter/mod.rs @@ -158,7 +158,6 @@ async fn run_filtration( if bytes_read == 0 { break; // EOF } - dbg!(&input_record); let (frequency, exon_distance) = get_freq_and_distance(&input_record)?; if let Some(exon_distance) = exon_distance { diff --git a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_arg.snap b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_arg.snap index 048a4f6b..a1f85d72 100644 --- a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_arg.snap +++ b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_arg.snap @@ -14,7 +14,7 @@ expression: "std::fs::read_to_string(format!(\"{}/out-1.vcf\",\n tmpd ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -56,5 +56,5 @@ expression: "std::fs::read_to_string(format!(\"{}/out-1.vcf\",\n tmpd ##x-varfish-version= ##x-varfish-prefilter-params={"prefilter_path":"","max_freq":0.01,"max_exon_dist":200} #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974| GT:AD:DP:GQ /0/0:29:29:87 /0/1:23:36:99 /0/1:15:32:99 +17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974|-1| GT:AD:DP:GQ /0/0:29:29:87 /0/1:23:36:99 /0/1:15:32:99 MT 750 . A G . . . GT:AD:DP:GQ /1/1:0:2757:99 /1/1:0:2392:99 /1/1:0:1621:99 diff --git a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_file.snap b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_file.snap index 048a4f6b..a1f85d72 100644 --- a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_file.snap +++ b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__single_output_file.snap @@ -14,7 +14,7 @@ expression: "std::fs::read_to_string(format!(\"{}/out-1.vcf\",\n tmpd ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -56,5 +56,5 @@ expression: "std::fs::read_to_string(format!(\"{}/out-1.vcf\",\n tmpd ##x-varfish-version= ##x-varfish-prefilter-params={"prefilter_path":"","max_freq":0.01,"max_exon_dist":200} #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974| GT:AD:DP:GQ /0/0:29:29:87 /0/1:23:36:99 /0/1:15:32:99 +17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974|-1| GT:AD:DP:GQ /0/0:29:29:87 /0/1:23:36:99 /0/1:15:32:99 MT 750 . A G . . . GT:AD:DP:GQ /1/1:0:2757:99 /1/1:0:2392:99 /1/1:0:1621:99 diff --git a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg-2.snap b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg-2.snap index 9dcd052f..125a3111 100644 --- a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg-2.snap +++ b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg-2.snap @@ -14,7 +14,7 @@ expression: "std::fs::read_to_string(format!(\"{}/out-2.vcf\",\n tmpd ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= diff --git a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg.snap b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg.snap index 048a4f6b..a1f85d72 100644 --- a/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg.snap +++ b/src/seqvars/prefilter/snapshots/varfish_server_worker__seqvars__prefilter__test__two_output_arg.snap @@ -14,7 +14,7 @@ expression: "std::fs::read_to_string(format!(\"{}/out-1.vcf\",\n tmpd ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -56,5 +56,5 @@ expression: "std::fs::read_to_string(format!(\"{}/out-1.vcf\",\n tmpd ##x-varfish-version= ##x-varfish-prefilter-params={"prefilter_path":"","max_freq":0.01,"max_exon_dist":200} #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974| GT:AD:DP:GQ /0/0:29:29:87 /0/1:23:36:99 /0/1:15:32:99 +17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974|-1| GT:AD:DP:GQ /0/0:29:29:87 /0/1:23:36:99 /0/1:15:32:99 MT 750 . A G . . . GT:AD:DP:GQ /1/1:0:2757:99 /1/1:0:2392:99 /1/1:0:1621:99 diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index a507a609..2a2266e2 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -27,21 +27,21 @@ pub fn passes(query: &CaseQuery, s: &VariantRecord) -> Result frequency.gnomad_mt.frequency.expect("tested before") - || frequency.gnomad_mt.heteroplasmic.is_some() - && s.population_frequencies.gnomad_mt.het - > frequency.gnomad_mt.heteroplasmic.expect("tested before") - || frequency.gnomad_mt.homoplasmic.is_some() - && s.population_frequencies.gnomad_mt.hom - > frequency.gnomad_mt.homoplasmic.expect("tested before")) + if frequency.gnomad_mtdna.enabled + && (frequency.gnomad_mtdna.frequency.is_some() + && s.population_frequencies.gnomad_mtdna.af() + > frequency.gnomad_mtdna.frequency.expect("tested before") + || frequency.gnomad_mtdna.heteroplasmic.is_some() + && s.population_frequencies.gnomad_mtdna.het + > frequency.gnomad_mtdna.heteroplasmic.expect("tested before") + || frequency.gnomad_mtdna.homoplasmic.is_some() + && s.population_frequencies.gnomad_mtdna.hom + > frequency.gnomad_mtdna.homoplasmic.expect("tested before")) { tracing::trace!( "variant {:?} fails gnomAD-MT frequency filter {:?}", s, - &frequency.gnomad_mt + &frequency.gnomad_mtdna ); return Ok(false); } @@ -108,8 +108,8 @@ mod test { VcfVariant, }, query::{ - CaseQuery, GnomadNuclearFrequencySettings, HelixMtDbFrequencySettings, - QuerySettingsFrequency, + CaseQuery, GnomadMitochondrialFrequencySettings, GnomadNuclearFrequencySettings, + HelixMtDbFrequencySettings, QuerySettingsFrequency, }, }; @@ -235,7 +235,13 @@ mod test { ..Default::default() }; - assert_eq!(super::passes(&query, &seq_var)?, expected_pass_all); + assert_eq!( + super::passes(&query, &seq_var)?, + expected_pass_all, + "query: {:#?}, seq_var: {:#?}", + query, + seq_var + ); Ok(()) } @@ -362,7 +368,13 @@ mod test { ..Default::default() }; - assert_eq!(super::passes(&query, &seq_var)?, expected_pass_all); + assert_eq!( + super::passes(&query, &seq_var)?, + expected_pass_all, + "query: {:#?}, seq_var: {:#?}", + query, + seq_var + ); Ok(()) } @@ -382,9 +394,9 @@ mod test { // frequency: pass [hom count] #[case(1000, 0, 1, true, Some(0.002), None, None, true)] // frequency: fail [hom count] - #[case(1000, 0, 2, true, Some(0.002), None, None, false)] + #[case(1000, 0, 3, true, Some(0.002), None, None, false)] // frequency: pass [hom count] (fail but filter is disabled) - #[case(1000, 0, 2, false, Some(0.002), None, None, true)] + #[case(1000, 0, 3, false, Some(0.002), None, None, true)] // -- heteroplasmy count ------------------------------------------------ // het. count: pass (no filter value) #[case(1000, 1, 0, true, None, None, None, true)] @@ -466,7 +478,13 @@ mod test { ..Default::default() }; - assert_eq!(super::passes(&query, &seq_var)?, expected_pass_all); + assert_eq!( + super::passes(&query, &seq_var)?, + expected_pass_all, + "query: {:#?}, seq_var: {:#?}", + query, + seq_var + ); Ok(()) } @@ -486,9 +504,9 @@ mod test { // frequency: pass [hom count] #[case(1000, 0, 1, true, Some(0.002), None, None, true)] // frequency: fail [hom count] - #[case(1000, 0, 2, true, Some(0.002), None, None, false)] + #[case(1000, 0, 3, true, Some(0.002), None, None, false)] // frequency: pass [hom count] (fail but filter is disabled) - #[case(1000, 0, 2, false, Some(0.002), None, None, true)] + #[case(1000, 0, 3, false, Some(0.002), None, None, true)] // -- heteroplasmy count ------------------------------------------------ // het. count: pass (no filter value) #[case(1000, 1, 0, true, None, None, None, true)] @@ -509,9 +527,9 @@ mod test { #[case(1000, 0, 2, false, None, None, Some(1), true)] #[allow(clippy::too_many_arguments)] fn passes_frequency_gnomad_mtdna( - #[case] seqvar_gnomad_genomes_an: i32, - #[case] seqvar_gnomad_genomes_het: i32, - #[case] seqvar_gnomad_genomes_hom: i32, + #[case] seqvar_gnomad_mtdna_an: i32, + #[case] seqvar_gnomad_mtdna_het: i32, + #[case] seqvar_gnomad_mtdna_hom: i32, #[case] query_gnomad_mtdna_enabled: bool, #[case] query_gnomad_mtdna_frequency: Option, #[case] query_gnomad_mtdna_heteroplasmic: Option, @@ -520,11 +538,11 @@ mod test { ) -> Result<(), anyhow::Error> { let query = CaseQuery { frequency: QuerySettingsFrequency { - gnomad_genomes: GnomadNuclearFrequencySettings { + gnomad_mtdna: GnomadMitochondrialFrequencySettings { enabled: query_gnomad_mtdna_enabled, frequency: query_gnomad_mtdna_frequency, - heterozygous: query_gnomad_mtdna_heteroplasmic, - homozygous: query_gnomad_mtdna_homoplasmic, + heteroplasmic: query_gnomad_mtdna_heteroplasmic, + homoplasmic: query_gnomad_mtdna_homoplasmic, ..Default::default() }, ..Default::default() @@ -533,10 +551,10 @@ mod test { }; let seq_var = VariantRecord { population_frequencies: PopulationFrequencies { - gnomad_mt: MitochondrialFrequencies { - an: seqvar_gnomad_genomes_an, - het: seqvar_gnomad_genomes_het, - hom: seqvar_gnomad_genomes_hom, + gnomad_mtdna: MitochondrialFrequencies { + an: seqvar_gnomad_mtdna_an, + het: seqvar_gnomad_mtdna_het, + hom: seqvar_gnomad_mtdna_hom, ..Default::default() }, ..Default::default() @@ -573,7 +591,13 @@ mod test { ..Default::default() }; - assert_eq!(super::passes(&query, &seq_var)?, expected_pass_all); + assert_eq!( + super::passes(&query, &seq_var)?, + expected_pass_all, + "query: {:#?}, seq_var: {:#?}", + query, + seq_var + ); Ok(()) } diff --git a/src/seqvars/query/interpreter/genotype.rs b/src/seqvars/query/interpreter/genotype.rs index dc1a6213..98a4460b 100644 --- a/src/seqvars/query/interpreter/genotype.rs +++ b/src/seqvars/query/interpreter/genotype.rs @@ -1,20 +1,17 @@ use crate::seqvars::query::schema::{ data::VariantRecord, query::{ - CaseQuery, GenotypeChoice, MatchesGenotypeStr as _, QuerySettingsGenotype, RecessiveMode, + considered_no_call, CaseQuery, GenotypeChoice, MatchesGenotypeStr as _, + QuerySettingsGenotype, RecessiveMode, RecessiveParents, }, }; /// Determine whether the `VariantRecord` passes the genotype filter. -pub fn passes( - query: &CaseQuery, - seqvar: &VariantRecord, - no_call_samples: &[&str], -) -> Result { +pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> Result { let result = if query.genotype.recessive_mode != RecessiveMode::Disabled { - passes_recessive_modes(&query.genotype, seqvar, no_call_samples)? + passes_recessive_modes(&query.genotype, seqvar)? } else { - passes_non_recessive_mode(&query.genotype, seqvar, no_call_samples)? + passes_non_recessive_mode(&query.genotype, seqvar)? }; if !result { @@ -28,157 +25,311 @@ pub fn passes( } /// Handle case of the mode being one of the recessive modes. +/// +/// This means +/// +/// - fail on chrMT/chrY +/// - in case of chrX, require het./hom./hemi. in the index, het. in the mother and +/// hom. ref. in the father +/// - in case of autosomal chromosomes, require het. in index and exactly one parent +/// and hom. ref. in other parent OR require hom. in index and het. in both parents +/// +/// In the future, we could also provide the sex of the index here and include cases +/// of X inactivation where mother is het., father is hom. ref. and index is het. fn passes_recessive_modes( query_genotype: &QuerySettingsGenotype, seqvar: &VariantRecord, - no_call_samples: &[&str], ) -> Result { - // Pick recessive index and parent names from query. - let index_name = query_genotype.recessive_index().map_err(|e| { + // Is/must never be called with disabled recessive mode. + assert_ne!(query_genotype.recessive_mode, RecessiveMode::Disabled); + // Get normalized chromosome, short-circuit in case of chrMT/chrY + // (recessive inheritance does not make sense here). + let normalized_chrom = annonars::common::cli::canonicalize(seqvar.vcf_variant.chrom.as_str()); + if normalized_chrom == "MT" || normalized_chrom == "Y" { + tracing::trace!( + "variant {:?} fails for genotype filter {:?} (chrMT/chrY)", + seqvar, + query_genotype + ); + return Ok(false); + } + + // Extract genotypes of index and potentially mother/father. + let (index_gt, father_gt, mother_gt) = extract_trio_genotypes(query_genotype, seqvar)?; + + // Branch into X-linked and autosomal recessive mode. + Ok(if normalized_chrom == "X" { + passes_recessive_mode_x_linked(index_gt, father_gt, mother_gt) + } else { + passes_recessive_mode_autosomal( + index_gt, + father_gt, + mother_gt, + query_genotype.recessive_mode, + ) + }) +} + +/// Extract genotypes of index and potentially mother/father. +/// +/// This function is used to extract the genotypes of the index and the parents +/// +/// # Arguments +/// +/// * `query_genotype` - The genotype filter to apply +/// * `seqvar` - The variant record to check +/// +/// # Returns +/// +/// A tuple containing the genotypes of the index, father and mother +/// +/// # Errors +/// +/// This function returns an error if the parents names could not be extracted +/// from the genotype query settings (more than one mother/father), if the +/// index sample name could not be determined, or the genotypes of the family +/// members could not be extracted from the variant record. +fn extract_trio_genotypes<'a>( + query_genotype: &QuerySettingsGenotype, + seqvar: &'a VariantRecord, +) -> Result<(&'a str, Option<&'a str>, Option<&'a str>), anyhow::Error> { + let index = query_genotype.recessive_index().map_err(|e| { anyhow::anyhow!( "invalid recessive index in genotype filter {:?}: {}", &query_genotype, e ) })?; - let _parent_names = query_genotype.recessive_parents().map_err(|e| { + let RecessiveParents { father, mother } = query_genotype.recessive_parents().map_err(|e| { anyhow::anyhow!( "invalid recessive parents in genotype filter {:?}: {}", &query_genotype, e ) })?; - - // Get genotype choice of index. - let index_gt_choice = query_genotype - .sample_genotypes - .get(&index_name) + let index_gt = seqvar + .call_infos + .get(&index) .ok_or_else(|| { - anyhow::anyhow!( - "index sample {} not found in genotype filter {:?}", - &index_name, - &query_genotype - ) - })?; - // For recessive mode, we have to know the samples selected for index and parents. - let index_gt_string = if no_call_samples.contains(&index_name.as_str()) { - String::from(".") - } else { - let call_info = seqvar.call_infos.get(&index_name).ok_or_else(|| { anyhow::anyhow!( "index sample {} not found in call info for {:?}", - &index_name, + &index, &seqvar ) - })?; - call_info.genotype.as_ref().cloned().ok_or_else(|| { + })? + .genotype + .as_ref() + .ok_or_else(|| { anyhow::anyhow!( "index sample {} has no genotype in call info for {:?}", - &index_name, + &index, &seqvar ) })? - }; - let parent_names = query_genotype - .sample_genotypes - .iter() - .flat_map(|(sample, choice)| { - if choice.genotype == GenotypeChoice::RecessiveParent { - Some(sample.clone()) - } else { - None - } + .as_str(); + let father_gt = father + .map(|father| { + seqvar + .call_infos + .get(&father) + .ok_or_else(|| { + anyhow::anyhow!( + "father sample {} not found in call info for {:?}", + &father, + &seqvar + ) + })? + .genotype + .as_ref() + .ok_or_else(|| { + anyhow::anyhow!( + "father sample {} has no genotype in call info for {:?}", + &father, + &seqvar + ) + }) }) - .collect::>(); - let parent_gt_strings = parent_names - .iter() - .map(|parent_name| { - if no_call_samples.contains(&parent_name.as_str()) { - Ok(String::from(".")) // no-call - } else { - seqvar - .call_infos - .get(parent_name) - .cloned() - .ok_or_else(|| { - anyhow::anyhow!( - "parent sample {} not found in call info for {:?}", - &parent_name, - &seqvar - ) - })? - .genotype - .ok_or_else(|| { - anyhow::anyhow!( - "parent sample {} has no genotype in call info for {:?}", - &parent_name, - &seqvar - ) - }) - } + .transpose()? + .map(|s| s.as_str()); + let mother_gt = mother + .map(|mother| { + seqvar + .call_infos + .get(&mother) + .ok_or_else(|| { + anyhow::anyhow!( + "mother sample {} not found in call info for {:?}", + &mother, + &seqvar + ) + })? + .genotype + .as_ref() + .ok_or_else(|| { + anyhow::anyhow!( + "mother sample {} has no genotype in call info for {:?}", + &mother, + &seqvar + ) + }) }) - .collect::, _>>()?; - - let compound_recessive_ok_index = GenotypeChoice::Het.matches(&index_gt_string); - let compound_recessive_parents_ref = parent_gt_strings - .iter() - .filter(|parent_gt_string| GenotypeChoice::Ref.matches(parent_gt_string)) - .count(); - let compound_recessive_parents_het = parent_gt_strings - .iter() - .filter(|parent_gt_string| GenotypeChoice::Het.matches(parent_gt_string)) - .count(); - let compound_recessive_parents_hom = parent_gt_strings - .iter() - .filter(|parent_gt_string| GenotypeChoice::Hom.matches(parent_gt_string)) - .count(); - - let compound_recessive_ok = match parent_names.len() { - 0 => compound_recessive_ok_index, - 1 => { - compound_recessive_ok_index - && compound_recessive_parents_ref + compound_recessive_parents_het == 1 - && compound_recessive_parents_hom == 0 + .transpose()? + .map(|s| s.as_str()); + Ok((index_gt, father_gt, mother_gt)) +} + +/// Handle case of the mode being "recessive" on chromosome X. +fn passes_recessive_mode_x_linked( + index_gt: &str, + father_gt: Option<&str>, + mother_gt: Option<&str>, +) -> bool { + if GenotypeChoice::Hom + .matches(index_gt) + .expect("matches() cannot fail for Hom") + { + // Index is hemi. alt. + // + // If father/mother is missing, we assume them to have compatible genotypes. + let father_ref = father_gt + .map(|father_gt| { + GenotypeChoice::Ref + .matches(father_gt) + .expect("matches() cannot fail for Ref") + }) + .unwrap_or(true); + let mother_het = mother_gt + .map(|mother_gt| { + GenotypeChoice::Het + .matches(mother_gt) + .expect("matches() cannot fail for Het") + }) + .unwrap_or(true); + father_ref && mother_het + } else { + false + } +} + +/// Handle case of the mode being "recessive" on autosomal chromosomes. +fn passes_recessive_mode_autosomal( + index_gt: &str, + father_gt: Option<&str>, + mother_gt: Option<&str>, + mode: RecessiveMode, +) -> bool { + // Is/must never be called with disabled recessive mode. + assert_ne!(mode, RecessiveMode::Disabled); + + if GenotypeChoice::Hom + .matches(index_gt) + .expect("matches() cannot fail for Hom") + { + // Index is hom. alt. + // + // Fail if in comp. het. mode. + if mode == RecessiveMode::CompoundHeterozygous { + return false; } - 2 => { - compound_recessive_ok_index - && compound_recessive_parents_ref == 1 - && compound_recessive_parents_het == 1 - && compound_recessive_parents_hom == 0 + assert!(matches!( + mode, + RecessiveMode::Any | RecessiveMode::Homozygous + )); + // Both parents must be het. if given. + let father_matches_het = father_gt + .map(|father_gt| { + GenotypeChoice::Het + .matches(father_gt) + .expect("matches() cannot fail for Het") + }) + .unwrap_or(true); + let mother_matches_het = mother_gt + .map(|mother_gt| { + GenotypeChoice::Het + .matches(mother_gt) + .expect("matches() cannot fail for Het") + }) + .unwrap_or(true); + father_matches_het && mother_matches_het + } else if GenotypeChoice::Het + .matches(&index_gt) + .expect("matches() cannot fail for Het") + { + // Index is het. + // + // Fail if in hom. mode. + if mode == RecessiveMode::Homozygous { + return false; } - _ => anyhow::bail!("more than two recessive parents selected"), - }; - - let homozygous_recessive_ok_index = GenotypeChoice::Hom.matches(&index_gt_string); - let homozygous_recessive_ok_parents = parent_gt_strings - .iter() - .map(|parent_gt_string| GenotypeChoice::Het.matches(parent_gt_string)) - .collect::>(); - let homozygous_recessive_ok = - homozygous_recessive_ok_index && homozygous_recessive_ok_parents.iter().all(|&ok| ok); - - match query_genotype.recessive_mode { - RecessiveMode::CompoundHeterozygous => Ok(compound_recessive_ok), - RecessiveMode::Homozygous => Ok(homozygous_recessive_ok), - RecessiveMode::Any => Ok(compound_recessive_ok || homozygous_recessive_ok), - _ => anyhow::bail!( - "invalid recessive mode choice for recessive mode: {:?}", - index_gt_choice - ), + assert!(matches!( + mode, + RecessiveMode::Any | RecessiveMode::CompoundHeterozygous + )); + // Exactly one parent must be het., the other hom. ref. This means + // when counting het./ref. alleles, each sum must be <= 1. + let (hom_father, het_father, ref_father) = father_gt + .map(|father_gt| { + ( + GenotypeChoice::Hom + .matches(father_gt) + .expect("matches() cannot fail for Hom") as i32, + GenotypeChoice::Het + .matches(father_gt) + .expect("matches() cannot fail for Het") as i32, + GenotypeChoice::Ref + .matches(father_gt) + .expect("matches() cannot fail for Ref") as i32, + ) + }) + .unwrap_or((0, 0, 0)); + let (hom_mother, het_mother, ref_mother) = mother_gt + .map(|mother_gt| { + ( + GenotypeChoice::Hom + .matches(mother_gt) + .expect("matches() cannot fail for Hom") as i32, + GenotypeChoice::Het + .matches(mother_gt) + .expect("matches() cannot fail for Het") as i32, + GenotypeChoice::Ref + .matches(mother_gt) + .expect("matches() cannot fail for Ref") as i32, + ) + }) + .unwrap_or((0, 0, 0)); + (hom_father + hom_mother == 0) + && (het_father + het_mother <= 1) + && (ref_father + ref_mother <= 1) + } else { + // None of the inclusion criteria met. + false } } -/// Handle case if the mode is not "recessive". Note that this actually includes the -/// homozygous recessive mode. +/// Handle case if the mode is not "recessive". +/// +/// Note that this includes the homozygous recessive mode. +/// +/// # Arguments +/// +/// * `query_genotype` - The genotype filter to apply +/// * `seqvar` - The variant record to check +/// +/// # Returns +/// +/// A boolean indicating whether the variant passes the genotype filter +/// +/// # Errors +/// +/// This function returns an error if the genotype choice from the settings +/// could not be matched with the genotype (e.g., is recessive indicator). fn passes_non_recessive_mode( query_genotype: &QuerySettingsGenotype, seqvar: &VariantRecord, - no_call_samples: &[&str], ) -> Result { for (sample_name, genotype_choice) in query_genotype.sample_genotypes.iter() { - let genotype = if no_call_samples.contains(&sample_name.as_str()) { - "." // no-call - } else if let Some(call_info) = seqvar.call_infos.get(sample_name) { + // Extract genotype from call info, skip if not present. + let genotype = if let Some(call_info) = seqvar.call_infos.get(sample_name) { if let Some(genotype) = call_info.genotype.as_ref() { genotype } else { @@ -190,7 +341,21 @@ fn passes_non_recessive_mode( return Ok(false); }; - if !genotype_choice.genotype.matches(genotype) { + if considered_no_call(genotype) { + // Handle case of nocall genotype. + if genotype_choice.include_no_call { + continue; + } else { + tracing::trace!( + "variant {:?} fails genotype filter {:?} on sample {} (no call)", + seqvar, + &query_genotype, + sample_name + ); + return Ok(false); + } + } else if !genotype_choice.genotype.matches(genotype)? { + // Handle case of non-nocall genotype. tracing::trace!( "variant {:?} fails genotype filter {:?} on sample {}", seqvar, @@ -198,15 +363,17 @@ fn passes_non_recessive_mode( sample_name ); return Ok(false); + } else { + // All good, check next. } } - Ok(true) // all good up to here + Ok(true) // All good up to the end. } #[cfg(test)] mod test { - use crate::seqvars::query::schema::data::{CallInfo, VariantRecord}; + use crate::seqvars::query::schema::data::{CallInfo, VariantRecord, VcfVariant}; use crate::seqvars::query::schema::query::{ GenotypeChoice::{self, *}, QuerySettingsGenotype, RecessiveMode, SampleGenotypeChoice, @@ -218,98 +385,118 @@ mod test { #[rstest::rstest] // any: passes - #[case("0/0", Any, true)] - #[case("0|0", Any, true)] - #[case("0/1", Any, true)] - #[case("0|1", Any, true)] - #[case("0", Any, true)] - #[case("1/0", Any, true)] - #[case("1|0", Any, true)] - #[case("1/1", Any, true)] - #[case("1|1", Any, true)] - #[case("1", Any, true)] - #[case(".", Any, true)] - #[case("./.", Any, true)] - #[case(".|.", Any, true)] + #[case::any_pass_01("0/0", Any, false, true)] + #[case::any_pass_02("0|0", Any, false, true)] + #[case::any_pass_03("0/1", Any, false, true)] + #[case::any_pass_04("0|1", Any, false, true)] + #[case::any_pass_05("0", Any, false, true)] + #[case::any_pass_06("1/0", Any, false, true)] + #[case::any_pass_07("1|0", Any, false, true)] + #[case::any_pass_08("1/1", Any, false, true)] + #[case::any_pass_09("1|1", Any, false, true)] + #[case::any_pass_10("1", Any, false, true)] + #[case::any_pass_11(".", Any, true, true)] + #[case::any_pass_12("./.", Any, true, true)] + #[case::any_pass_13(".|.", Any, true, true)] + // any: passes NOT + #[case::any_nopass_01(".", Any, false, false)] + #[case::any_nopass_02("./.", Any, false, false)] + #[case::any_nopass_03(".|.", Any, false, false)] // ref: passes - #[case("0/0", Ref, true)] - #[case("0|0", Ref, true)] - #[case("0", Ref, true)] + #[case::ref_pass_01("0/0", Ref, false, true)] + #[case::ref_pass_02("0|0", Ref, false, true)] + #[case::ref_pass_03("0", Ref, false, true)] + #[case::ref_pass_04(".", Ref, true, true)] + #[case::ref_pass_05("./.", Ref, true, true)] + #[case::ref_pass_06(".|.", Ref, true, true)] // ref: passes NOT - #[case("0/1", Ref, false)] - #[case("0|1", Ref, false)] - #[case("1/0", Ref, false)] - #[case("1|0", Ref, false)] - #[case("1/1", Ref, false)] - #[case("1|1", Ref, false)] - #[case("1", Ref, false)] - #[case(".", Ref, false)] - #[case("./.", Ref, false)] - #[case(".|.", Ref, false)] + #[case::ref_nopass_01("0/1", Ref, false, false)] + #[case::ref_nopass_02("0|1", Ref, false, false)] + #[case::ref_nopass_03("1/0", Ref, false, false)] + #[case::ref_nopass_04("1|0", Ref, false, false)] + #[case::ref_nopass_05("1/1", Ref, false, false)] + #[case::ref_nopass_06("1|1", Ref, false, false)] + #[case::ref_nopass_07("1", Ref, false, false)] + #[case::ref_nopass_08(".", Ref, false, false)] + #[case::ref_nopass_09("./.", Ref, false, false)] + #[case::ref_nopass_10(".|.", Ref, false, false)] // het: passes - #[case("0/1", Het, true)] - #[case("0|1", Het, true)] - #[case("1/0", Het, true)] - #[case("1|0", Het, true)] + #[case::het_pass_01("0/1", Het, false, true)] + #[case::het_pass_02("0|1", Het, false, true)] + #[case::het_pass_03("1/0", Het, false, true)] + #[case::het_pass_04("1|0", Het, false, true)] + #[case::het_pass_05(".", Het, true, true)] + #[case::het_pass_06("./.", Het, true, true)] + #[case::het_pass_07(".|.", Het, true, true)] // het: passes NOT - #[case("0/0", Het, false)] - #[case("0|0", Het, false)] - #[case("0", Het, false)] - #[case("1/1", Het, false)] - #[case("1|1", Het, false)] - #[case("1", Het, false)] - #[case(".", Het, false)] - #[case("./.", Het, false)] - #[case(".|.", Het, false)] + #[case::het_nopass_01("0/0", Het, false, false)] + #[case::het_nopass_02("0|0", Het, false, false)] + #[case::het_nopass_03("0", Het, false, false)] + #[case::het_nopass_04("1/1", Het, false, false)] + #[case::het_nopass_05("1|1", Het, false, false)] + #[case::het_nopass_06("1", Het, false, false)] + #[case::het_nopass_07(".", Het, false, false)] + #[case::het_nopass_08("./.", Het, false, false)] + #[case::het_nopass_09(".|.", Het, false, false)] // hom: passes - #[case("1/1", Hom, true)] - #[case("1|1", Hom, true)] - #[case("1", Hom, true)] + #[case::hom_pass_01("1/1", Hom, false, true)] + #[case::hom_pass_02("1|1", Hom, false, true)] + #[case::hom_pass_03("1", Hom, false, true)] + #[case::hom_pass_04(".", Hom, true, true)] + #[case::hom_pass_05("./.", Hom, true, true)] + #[case::hom_pass_06(".|.", Hom, true, true)] // hom: passes NOT - #[case("0/0", Hom, false)] - #[case("0|0", Hom, false)] - #[case("0/1", Hom, false)] - #[case("0|1", Hom, false)] - #[case("0", Hom, false)] - #[case("1/0", Hom, false)] - #[case("1|0", Hom, false)] - #[case(".", Hom, false)] - #[case("./.", Hom, false)] - #[case(".|.", Hom, false)] + #[case::hom_nopass_01("0/0", Hom, false, false)] + #[case::hom_nopass_02("0|0", Hom, false, false)] + #[case::hom_nopass_03("0/1", Hom, false, false)] + #[case::hom_nopass_04("0|1", Hom, false, false)] + #[case::hom_nopass_05("0", Hom, false, false)] + #[case::hom_nopass_06("1/0", Hom, false, false)] + #[case::hom_nopass_07("1|0", Hom, false, false)] + #[case::hom_nopass_08(".", Hom, false, false)] + #[case::hom_nopass_09("./.", Hom, false, false)] + #[case::hom_nopass_10(".|.", Hom, false, false)] // non-hom: passes - #[case("0/0", NonHom, true)] - #[case("0|0", NonHom, true)] - #[case("0/1", NonHom, true)] - #[case("0|1", NonHom, true)] - #[case("0", NonHom, true)] - #[case("1/0", NonHom, true)] - #[case("1|0", NonHom, true)] - #[case(".", NonHom, true)] - #[case("./.", NonHom, true)] - #[case(".|.", NonHom, true)] + #[case::nonhom_pass_01("0/0", NonHom, false, true)] + #[case::nonhom_pass_02("0|0", NonHom, false, true)] + #[case::nonhom_pass_03("0/1", NonHom, false, true)] + #[case::nonhom_pass_04("0|1", NonHom, false, true)] + #[case::nonhom_pass_05("0", NonHom, false, true)] + #[case::nonhom_pass_06("1/0", NonHom, false, true)] + #[case::nonhom_pass_07("1|0", NonHom, false, true)] + #[case::nonhom_pass_08(".", NonHom, true, true)] + #[case::nonhom_pass_09("./.", NonHom, true, true)] + #[case::nonhom_pass_10(".|.", NonHom, true, true)] // non-hom: passes NOT - #[case("1/1", NonHom, false)] - #[case("1|1", NonHom, false)] - #[case("1", NonHom, false)] + #[case::nonhom_nopass_01("1/1", NonHom, false, false)] + #[case::nonhom_nopass_02("1|1", NonHom, false, false)] + #[case::nonhom_nopass_03("1", NonHom, false, false)] + #[case::nonhom_nopass_04(".", NonHom, false, false)] + #[case::nonhom_nopass_05("./.", NonHom, false, false)] + #[case::nonhom_nopass_06(".|.", NonHom, false, false)] // variant: passes - #[case("0/1", Variant, true)] - #[case("0|1", Variant, true)] - #[case("1/0", Variant, true)] - #[case("1|0", Variant, true)] - #[case("1/1", Variant, true)] - #[case("1|1", Variant, true)] - #[case("1", Variant, true)] + #[case::variant_pass_01("0/1", Variant, false, true)] + #[case::variant_pass_02("0|1", Variant, false, true)] + #[case::variant_pass_03("1/0", Variant, false, true)] + #[case::variant_pass_04("1|0", Variant, false, true)] + #[case::variant_pass_05("1/1", Variant, false, true)] + #[case::variant_pass_06("1|1", Variant, false, true)] + #[case::variant_pass_07("1", Variant, false, true)] + #[case::variant_pass_08(".", Variant, true, true)] + #[case::variant_pass_09("./.", Variant, true, true)] + #[case::variant_pass_10(".|.", Variant, true, true)] // variant: passes NOT - #[case("0/0", Variant, false)] - #[case("0|0", Variant, false)] - #[case("0", Variant, false)] - #[case(".", Variant, false)] - #[case("./.", Variant, false)] - #[case(".|.", Variant, false)] + #[case::variant_nopass_01("0/0", Variant, false, false)] + #[case::variant_nopass_02("0|0", Variant, false, false)] + #[case::variant_nopass_03("0", Variant, false, false)] + #[case::variant_nopass_04(".", Variant, false, false)] + #[case::variant_nopass_05("./.", Variant, false, false)] + #[case::variant_nopass_06(".|.", Variant, false, false)] fn passes_non_recessive_mode_singleton( #[case] sample_gt: &str, #[case] query_gt: GenotypeChoice, + #[case] include_no_call: bool, #[case] expected: bool, ) -> Result<(), anyhow::Error> { let query_genotype = QuerySettingsGenotype { @@ -318,6 +505,7 @@ mod test { String::from(INDEX_NAME) => SampleGenotypeChoice { sample: String::from(INDEX_NAME), genotype: query_gt, + include_no_call, ..Default::default() } }, @@ -335,7 +523,7 @@ mod test { }; assert_eq!( - super::passes_non_recessive_mode(&query_genotype, &seq_var, &[])?, + super::passes_non_recessive_mode(&query_genotype, &seq_var)?, expected, "sample_gt = {}, query_gt = {:?}, expected = {}", sample_gt, @@ -348,32 +536,35 @@ mod test { #[rstest::rstest] // any: passes - #[case("0/0,0/0,0/0", Any, Any, Any, true)] - #[case(".,.,.", Any, Any, Any, true)] + #[case::any_pass_01("0/0,0/0,0/0", Any, false, Any, false, Any, false, true)] + #[case::any_pass_01(".,.,.", Any, true, Any, true, Any, true, true)] // some combinations: passes - #[case("0/1,0/1,0/0", Het, Het, Ref, true)] - #[case("0/1,0|1,0/0", Het, Het, Ref, true)] - #[case("0|1,0/1,0/0", Het, Het, Ref, true)] - #[case("0/1,0/0,0/1", Any, Ref, Het, true)] - #[case("0|1,0/0,0|1", Any, Ref, Het, true)] - #[case("0/1,0/0,0|1", Any, Ref, Het, true)] - #[case("0|1,0/0,0/1", Any, Ref, Het, true)] - #[case("0/1,0/0,0/0", Variant, Ref, Ref, true)] - #[case("0|1,0/0,0/0", Variant, Ref, Ref, true)] - #[case("1/0,0/0,0/0", Variant, Ref, Ref, true)] - #[case("1|0,0/0,0/0", Variant, Ref, Ref, true)] - #[case("1,0,0/0", Variant, Ref, Ref, true)] + #[case::some_pass_01("0/1,0/1,0/0", Het, false, Het, false, Ref, false, true)] + #[case::some_pass_02("0/1,0|1,0/0", Het, false, Het, false, Ref, false, true)] + #[case::some_pass_03("0|1,0/1,0/0", Het, false, Het, false, Ref, false, true)] + #[case::some_pass_04("0/1,0/0,0/1", Any, false, Ref, false, Het, false, true)] + #[case::some_pass_05("0|1,0/0,0|1", Any, false, Ref, false, Het, false, true)] + #[case::some_pass_06("0/1,0/0,0|1", Any, false, Ref, false, Het, false, true)] + #[case::some_pass_07("0|1,0/0,0/1", Any, false, Ref, false, Het, false, true)] + #[case::some_pass_08("0/1,0/0,0/0", Variant, false, Ref, false, Ref, false, true)] + #[case::some_pass_09("0|1,0/0,0/0", Variant, false, Ref, false, Ref, false, true)] + #[case::some_pass_10("1/0,0/0,0/0", Variant, false, Ref, false, Ref, false, true)] + #[case::some_pass_11("1|0,0/0,0/0", Variant, false, Ref, false, Ref, false, true)] + #[case::some_pass_12("1,0,0/0", Variant, false, Ref, false, Ref, false, true)] // some combinations: passes NOT - #[case("0/0,0/0,0/0", Het, Any, Any, false)] - #[case("0/0,0/0,0/0", Any, Het, Any, false)] - #[case("0/0,0/0,0/0", Any, Any, Het, false)] - #[case("1,0,0/1", Variant, Ref, Ref, false)] - #[case("1,0,.", Variant, Ref, Ref, false)] + #[case::some_nopass_01("0/0,0/0,0/0", Het, false, Any, false, Any, false, false)] + #[case::some_nopass_02("0/0,0/0,0/0", Any, false, Het, false, Any, false, false)] + #[case::some_nopass_03("0/0,0/0,0/0", Any, false, Any, false, Het, false, false)] + #[case::some_nopass_04("1,0,0/1", Variant, false, Ref, false, Ref, false, false)] + #[case::some_nopass_05("1,0,.", Variant, false, Ref, false, Ref, false, false)] fn passes_non_recessive_mode_trio( #[case] sample_gts: &str, #[case] query_gt_index: GenotypeChoice, + #[case] nocall_index: bool, #[case] query_gt_father: GenotypeChoice, + #[case] nocall_father: bool, #[case] query_gt_mother: GenotypeChoice, + #[case] nocall_mother: bool, #[case] expected: bool, ) -> Result<(), anyhow::Error> { let query_genotype = QuerySettingsGenotype { @@ -382,16 +573,19 @@ mod test { String::from(INDEX_NAME) => SampleGenotypeChoice { sample: String::from(INDEX_NAME), genotype: query_gt_index, + include_no_call: nocall_index, ..Default::default() }, String::from(FATHER_NAME) => SampleGenotypeChoice { sample: String::from(FATHER_NAME), genotype: query_gt_father, + include_no_call: nocall_father, ..Default::default() }, String::from(MOTHER_NAME) => SampleGenotypeChoice { sample: String::from(MOTHER_NAME), genotype: query_gt_mother, + include_no_call: nocall_mother, ..Default::default() }, }, @@ -422,7 +616,7 @@ mod test { }; assert_eq!( - super::passes_non_recessive_mode(&query_genotype, &seq_var, &[])?, + super::passes_non_recessive_mode(&query_genotype, &seq_var)?, expected, "sample_gt = {:?}, query_gt_index = {:?}, query_gt_father = {:?}, \ query_gt_mother = {:?}, expected = {}", @@ -437,9 +631,9 @@ mod test { } #[rstest::rstest] - // any: passes - #[case("0/0", RecessiveIndex)] - #[case("0/0", RecessiveParent)] + #[case::recessive_index("0/0", RecessiveIndex)] + #[case::recessive_father("0/0", RecessiveFather)] + #[case::recessive_mother("0/0", RecessiveMother)] fn passes_non_recessive_mode_fails_on_recessive_markers( #[case] sample_gt: &str, #[case] query_gt: GenotypeChoice, @@ -465,53 +659,68 @@ mod test { ..Default::default() }; - assert!(super::passes_non_recessive_mode(&query_genotype, &seq_var, &[]).is_err(),); + assert!(super::passes_non_recessive_mode(&query_genotype, &seq_var).is_err(),); Ok(()) } #[rstest::rstest] - // // comphet-index: passes - // #[case("0/1", ComphetIndex, true)] - // #[case("0|1", ComphetIndex, true)] - // #[case("1/0", ComphetIndex, true)] - // #[case("1|0", ComphetIndex, true)] - // // comphet-index: passes NOT - // #[case("0/0", ComphetIndex, false)] - // #[case("0|0", ComphetIndex, false)] - // #[case("0", ComphetIndex, false)] - // #[case("1/1", ComphetIndex, false)] - // #[case("1|1", ComphetIndex, false)] - // #[case("1", ComphetIndex, false)] - // #[case(".", ComphetIndex, false)] - // #[case("./.", ComphetIndex, false)] - // #[case(".|.", ComphetIndex, false)] - // recessive-index: passes - #[case("0/1", RecessiveIndex, true)] - #[case("0|1", RecessiveIndex, true)] - #[case("1/0", RecessiveIndex, true)] - #[case("1|0", RecessiveIndex, true)] - #[case("1/1", RecessiveIndex, true)] - #[case("1|1", RecessiveIndex, true)] - #[case("1", RecessiveIndex, true)] - // recessive-index: passes NOT - #[case("0/0", RecessiveIndex, false)] - #[case("0|0", RecessiveIndex, false)] - #[case("0", RecessiveIndex, false)] - #[case(".", RecessiveIndex, false)] - #[case("./.", RecessiveIndex, false)] - #[case(".|.", RecessiveIndex, false)] - fn passes_recessive_modes_singleton( + // any: passes + #[case::any_pass_01("0/1", RecessiveMode::Any, true)] + #[case::any_pass_02("0|1", RecessiveMode::Any, true)] + #[case::any_pass_03("1/0", RecessiveMode::Any, true)] + #[case::any_pass_04("1|0", RecessiveMode::Any, true)] + #[case::any_pass_05("1/1", RecessiveMode::Any, true)] + #[case::any_pass_06("1|1", RecessiveMode::Any, true)] + #[case::any_pass_07("1", RecessiveMode::Any, true)] + // any: passes NOT + #[case::any_nopass_01("0/0", RecessiveMode::Any, false)] + #[case::any_nopass_02("0|0", RecessiveMode::Any, false)] + #[case::any_nopass_03("0", RecessiveMode::Any, false)] + #[case::any_nopass_04(".", RecessiveMode::Any, false)] + #[case::any_nopass_05("./.", RecessiveMode::Any, false)] + #[case::any_nopass_06(".|.", RecessiveMode::Any, false)] + // comp. het.: passes + #[case::comphet_pass_01("0/1", RecessiveMode::CompoundHeterozygous, true)] + #[case::comphet_pass_02("0|1", RecessiveMode::CompoundHeterozygous, true)] + #[case::comphet_pass_03("1/0", RecessiveMode::CompoundHeterozygous, true)] + #[case::comphet_pass_04("1|0", RecessiveMode::CompoundHeterozygous, true)] + // comp. het.: passes NOT + #[case::comphet_nopass_01("0/0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_02("0|0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_03("0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_04("1/1", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_05("1|1", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_06("1", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_07(".", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_08("./.", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_09(".|.", RecessiveMode::CompoundHeterozygous, false)] + // hom.: passes + #[case::hom_pass_04("1/1", RecessiveMode::Homozygous, true)] + #[case::hom_pass_05("1|1", RecessiveMode::Homozygous, true)] + #[case::hom_pass_06("1", RecessiveMode::Homozygous, true)] + // hom.: passes NOT + #[case::hom_nopass_01("0/0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_02("0|0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_03("0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_04("0/1", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_05("0|1", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_06("1/0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_07("1|0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_08(".", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_09("./.", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_10(".|.", RecessiveMode::Homozygous, false)] + fn passes_recessive_modes_autosomes_singleton( #[case] sample_gt: &str, - #[case] query_gt: GenotypeChoice, + #[case] recessive_mode: RecessiveMode, #[case] expected: bool, ) -> Result<(), anyhow::Error> { let query_genotype = QuerySettingsGenotype { - recessive_mode: RecessiveMode::Any, + recessive_mode, sample_genotypes: indexmap::indexmap! { String::from(INDEX_NAME) => SampleGenotypeChoice { sample: String::from(INDEX_NAME), - genotype: query_gt, + genotype: GenotypeChoice::RecessiveIndex, ..Default::default() } }, @@ -528,11 +737,11 @@ mod test { }; assert_eq!( - super::passes_recessive_modes(&query_genotype, &seq_var, &[])?, + super::passes_recessive_modes(&query_genotype, &seq_var)?, expected, - "sample_gt = {}, query_gt = {:?}, expected = {}", + "sample_gt = {}, recessive_mode = {:?}, expected = {}", sample_gt, - query_gt, + recessive_mode, expected ); @@ -540,48 +749,463 @@ mod test { } #[rstest::rstest] - // recessive mode: passes - #[case("0/1,0/0,0/0", RecessiveIndex, Any, Any, true)] - #[case("0|1,0/0,0/0", RecessiveIndex, Any, Any, true)] - #[case("1/0,0/0,0/0", RecessiveIndex, Any, Any, true)] - #[case("1|0,0/0,0/0", RecessiveIndex, Any, Any, true)] - #[case("1/0,0/1,0/0", RecessiveIndex, RecessiveParent, RecessiveParent, true)] - #[case("1/0,0/0,0/1", RecessiveIndex, RecessiveParent, RecessiveParent, true)] - #[case("1/1,0/1,0/1", RecessiveIndex, RecessiveParent, RecessiveParent, true)] - #[case("1/1,0/0,0/1", RecessiveIndex, Any, RecessiveParent, true)] - #[case("1/1,0/1,0/0", RecessiveIndex, RecessiveParent, Any, true)] - #[case("1|1,0|1,1|0", RecessiveIndex, RecessiveParent, RecessiveParent, true)] - // recessive mode: passes NOT - #[case("1/1,1/1,0/0", RecessiveIndex, RecessiveParent, Any, false)] - #[case("0/1,0/0,0/0", RecessiveIndex, RecessiveParent, RecessiveParent, false)] - #[case("0/1,1/1,0/0", RecessiveIndex, RecessiveParent, RecessiveParent, false)] - #[case("0/1,0/0,1/1", RecessiveIndex, RecessiveParent, RecessiveParent, false)] - #[case("0/1,0/1,0/1", RecessiveIndex, RecessiveParent, RecessiveParent, false)] - // // compound recessive mode: passes - // #[case("0/1,0/0,0/0", ComphetIndex, Any, Any, true)] - // #[case("0|1,0/0,0/0", ComphetIndex, Any, Any, true)] - // #[case("1/0,0/0,0/0", ComphetIndex, Any, Any, true)] - // #[case("1|0,0/0,0/0", ComphetIndex, Any, Any, true)] - // #[case("0/1,1/1,0/0", ComphetIndex, Any, RecessiveParent, true)] - // #[case("0/1,0/0,1/1", ComphetIndex, RecessiveParent, Any, true)] - // #[case("1/0,0/1,0/0", ComphetIndex, RecessiveParent, RecessiveParent, true)] - // #[case("1/0,0/0,0/1", ComphetIndex, RecessiveParent, RecessiveParent, true)] - // // compound recessive mode: passes NOT - // #[case("1/1,0/1,0/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] - // #[case("1|1,0|1,1|0", ComphetIndex, RecessiveParent, RecessiveParent, false)] - // #[case("0/1,0/0,0/0", ComphetIndex, RecessiveParent, RecessiveParent, false)] - // #[case("0/1,1/1,0/0", ComphetIndex, RecessiveParent, RecessiveParent, false)] - // #[case("0/1,0/0,1/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] - // #[case("0/1,0/1,0/1", ComphetIndex, RecessiveParent, RecessiveParent, false)] - fn passes_recessive_modes_trio( + // any: passes + #[case::any_pass_01("1/1", RecessiveMode::Any, true)] + #[case::any_pass_02("1|1", RecessiveMode::Any, true)] + #[case::any_pass_03("1", RecessiveMode::Any, true)] + // any: passes NOT + #[case::any_nopass_01("0/1", RecessiveMode::Any, false)] + #[case::any_nopass_02("0|1", RecessiveMode::Any, false)] + #[case::any_nopass_03("1/0", RecessiveMode::Any, false)] + #[case::any_nopass_04("1|0", RecessiveMode::Any, false)] + #[case::any_nopass_05("0/0", RecessiveMode::Any, false)] + #[case::any_nopass_06("0|0", RecessiveMode::Any, false)] + #[case::any_nopass_07("0", RecessiveMode::Any, false)] + #[case::any_nopass_08(".", RecessiveMode::Any, false)] + #[case::any_nopass_09("./.", RecessiveMode::Any, false)] + #[case::any_nopass_10(".|.", RecessiveMode::Any, false)] + // comp. het.: passes + // recessive mode is ignored -- sic! + #[case::comphet_pass_01("1/1", RecessiveMode::CompoundHeterozygous, true)] + #[case::comphet_pass_02("1|1", RecessiveMode::CompoundHeterozygous, true)] + #[case::comphet_pass_03("1", RecessiveMode::CompoundHeterozygous, true)] + // comp. het.: passes NOT + #[case::comphet_nopass_01("0/1", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_02("0|1", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_03("1/0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_04("1|0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_05("0/0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_06("0|0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_07("0", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_08(".", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_09("./.", RecessiveMode::CompoundHeterozygous, false)] + #[case::comphet_nopass_10(".|.", RecessiveMode::CompoundHeterozygous, false)] + // hom.: passes + #[case::hom_pass_04("1/1", RecessiveMode::Homozygous, true)] + #[case::hom_pass_05("1|1", RecessiveMode::Homozygous, true)] + #[case::hom_pass_06("1", RecessiveMode::Homozygous, true)] + // hom.: passes NOT + #[case::hom_nopass_01("0/0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_02("0|0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_03("0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_04("0/1", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_05("0|1", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_06("1/0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_07("1|0", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_08(".", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_09("./.", RecessiveMode::Homozygous, false)] + #[case::hom_nopass_10(".|.", RecessiveMode::Homozygous, false)] + fn passes_recessive_modes_x_linked_singleton( + #[case] sample_gt: &str, + #[case] recessive_mode: RecessiveMode, + #[case] expected: bool, + ) -> Result<(), anyhow::Error> { + let query_genotype = QuerySettingsGenotype { + recessive_mode, + sample_genotypes: indexmap::indexmap! { + String::from(INDEX_NAME) => SampleGenotypeChoice { + sample: String::from(INDEX_NAME), + genotype: GenotypeChoice::RecessiveIndex, + ..Default::default() + } + }, + }; + let seq_var = VariantRecord { + vcf_variant: VcfVariant { + chrom: "X".to_string(), + ..Default::default() + }, + call_infos: indexmap::indexmap! { + INDEX_NAME.into() => + CallInfo { + genotype: Some(sample_gt.into()), + ..Default::default() + }, + }, + ..Default::default() + }; + + assert_eq!( + super::passes_recessive_modes(&query_genotype, &seq_var)?, + expected, + "sample_gt = {}, recessive_mode = {:?}, expected = {}", + sample_gt, + recessive_mode, + expected + ); + + Ok(()) + } + + #[rstest::rstest] + #[case::chry_any_fail("Y", "0/1", RecessiveMode::Any)] + #[case::chry_any_fail("Y", "1/1", RecessiveMode::Homozygous)] + #[case::chry_any_fail("Y", "0/1", RecessiveMode::CompoundHeterozygous)] + #[case::chrmt_any_fail("MT", "0/1", RecessiveMode::Any)] + #[case::chrmt_any_fail("MT", "1/1", RecessiveMode::Homozygous)] + #[case::chrmt_any_fail("MT", "0/1", RecessiveMode::CompoundHeterozygous)] + fn passes_recessive_modes_chry_chrmt_singleton( + #[case] chrom: &str, + #[case] sample_gt: &str, + #[case] recessive_mode: RecessiveMode, + ) -> Result<(), anyhow::Error> { + let query_genotype = QuerySettingsGenotype { + recessive_mode, + sample_genotypes: indexmap::indexmap! { + String::from(INDEX_NAME) => SampleGenotypeChoice { + sample: String::from(INDEX_NAME), + genotype: GenotypeChoice::RecessiveIndex, + ..Default::default() + } + }, + }; + let seq_var = VariantRecord { + vcf_variant: VcfVariant { + chrom: chrom.to_string(), + ..Default::default() + }, + call_infos: indexmap::indexmap! { + INDEX_NAME.into() => + CallInfo { + genotype: Some(sample_gt.into()), + ..Default::default() + }, + }, + ..Default::default() + }; + + assert_eq!( + super::passes_recessive_modes(&query_genotype, &seq_var)?, + false, + "sample_gt = {}, recessive_mode = {:?}", + sample_gt, + recessive_mode, + ); + + Ok(()) + } + + #[rstest::rstest] + // any recessive mode: passes + #[case::any_pass_01("0/1,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::any_pass_02("0|1,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::any_pass_03("1/0,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::any_pass_04("1|0,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::any_pass_05( + "1/0,0/1,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::any_pass_06( + "1/0,0/0,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::any_pass_07( + "1/1,0/1,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::any_pass_08( + "1/1,0/0,0/1", + RecessiveIndex, + Any, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::any_pass_09( + "1/1,0/1,0/0", + RecessiveIndex, + RecessiveFather, + Any, + RecessiveMode::Any, + true + )] + #[case::any_pass_10( + "1|1,0|1,1|0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + // any recessive mode: passes NOT + #[case::any_nopass_01( + "1/1,1/1,0/0", + RecessiveIndex, + RecessiveFather, + Any, + RecessiveMode::Any, + false + )] + #[case::any_nopass_02( + "0/1,0/0,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + #[case::any_nopass_03( + "0/1,1/1,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + #[case::any_nopass_04( + "0/1,0/0,1/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + #[case::any_nopass_05( + "0/1,0/1,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + // homozygous recessive mode: passes + #[case::homozygous_pass_01( + "1/1,0/1,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + true + )] + #[case::homozygous_pass_02( + "1/1,0/0,0/1", + RecessiveIndex, + Any, + RecessiveMother, + RecessiveMode::Homozygous, + true + )] + #[case::homozygous_pass_03( + "1/1,0/1,0/0", + RecessiveIndex, + RecessiveFather, + Any, + RecessiveMode::Homozygous, + true + )] + #[case::homozygous_pass_04( + "1|1,0|1,1|0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + true + )] + // homozygous recessive mode: passes NOT + #[case::homozygous_pass_01( + "0/1,0/0,0/0", + RecessiveIndex, + Any, + Any, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_02( + "0|1,0/0,0/0", + RecessiveIndex, + Any, + Any, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_03( + "1/0,0/0,0/0", + RecessiveIndex, + Any, + Any, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_04( + "1|0,0/0,0/0", + RecessiveIndex, + Any, + Any, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_05( + "1/0,0/1,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_06( + "1/0,0/0,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_07( + "1/1,1/1,0/0", + RecessiveIndex, + RecessiveFather, + Any, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_08( + "0/1,0/0,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_09( + "0/1,1/1,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_10( + "0/1,0/0,1/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + false + )] + #[case::homozygous_pass_11( + "0/1,0/1,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Homozygous, + false + )] + // comp. het. recessive mode: passes + #[case::comphet_pass_01("0/1,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::comphet_pass_02("0|1,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::comphet_pass_03("1/0,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::comphet_pass_04("1|0,0/0,0/0", RecessiveIndex, Any, Any, RecessiveMode::Any, true)] + #[case::comphet_pass_05( + "1/0,0/1,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::comphet_pass_06( + "1/0,0/0,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::comphet_pass_07( + "1/1,0/1,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::comphet_pass_08( + "1/1,0/0,0/1", + RecessiveIndex, + Any, + RecessiveMother, + RecessiveMode::Any, + true + )] + #[case::comphet_pass_09( + "1/1,0/1,0/0", + RecessiveIndex, + RecessiveFather, + Any, + RecessiveMode::Any, + true + )] + #[case::comphet_pass_10( + "1|1,0|1,1|0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + true + )] + // comp. het. recessive mode: passes NOT + #[case::comphet_nopass_01( + "1/1,1/1,0/0", + RecessiveIndex, + RecessiveFather, + Any, + RecessiveMode::Any, + false + )] + #[case::comphet_nopass_02( + "0/1,0/0,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + #[case::comphet_nopass_03( + "0/1,1/1,0/0", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + #[case::comphet_nopass_04( + "0/1,0/0,1/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + #[case::comphet_nopass_05( + "0/1,0/1,0/1", + RecessiveIndex, + RecessiveFather, + RecessiveMother, + RecessiveMode::Any, + false + )] + fn passes_recessive_modes_autosomes_trio( #[case] sample_gts: &str, #[case] query_gt_index: GenotypeChoice, #[case] query_gt_father: GenotypeChoice, #[case] query_gt_mother: GenotypeChoice, + #[case] recessive_mode: RecessiveMode, #[case] expected: bool, ) -> Result<(), anyhow::Error> { let query_genotype = QuerySettingsGenotype { - recessive_mode: RecessiveMode::Any, + recessive_mode, sample_genotypes: indexmap::indexmap! { String::from(INDEX_NAME) => SampleGenotypeChoice { sample: String::from(INDEX_NAME), @@ -626,14 +1250,15 @@ mod test { }; assert_eq!( - super::passes_recessive_modes(&query_genotype, &seq_var, &[])?, + super::passes_recessive_modes(&query_genotype, &seq_var)?, expected, "sample_gt = {:?}, query_gt_index = {:?}, query_gt_father = {:?}, \ - query_gt_mother = {:?}, expected = {}", + query_gt_mother = {:?}, recessive_mode = {:?}, expected = {}", sample_gts, query_gt_index, query_gt_father, query_gt_mother, + recessive_mode, expected ); diff --git a/src/seqvars/query/interpreter/mod.rs b/src/seqvars/query/interpreter/mod.rs index 8ea2a9a7..9e172902 100644 --- a/src/seqvars/query/interpreter/mod.rs +++ b/src/seqvars/query/interpreter/mod.rs @@ -50,29 +50,19 @@ impl QueryInterpreter { // Check the filters first that are cheap to compute. let pass_frequency = frequency::passes(&self.query, seqvar)?; let pass_consequences = consequences::passes(&self.query, seqvar)?; - let res_quality = quality::passes(&self.query, seqvar)?; + let pass_quality = quality::passes(&self.query, seqvar)?; let pass_genes_allowlist = genes_allowlist::passes(&self.hgnc_allowlist, seqvar); let pass_regions_allowlist = regions_allowlist::passes(&self.query, seqvar); + let pass_genotype = genotype::passes(&self.query, seqvar)?; if !pass_frequency || !pass_consequences - || !res_quality.pass + || !pass_quality || !pass_genes_allowlist || !pass_regions_allowlist + || !pass_genotype { return Ok(PassesResult { pass_all: false }); } - // Now also check the genotype that needs the quality filter output as input. - if !genotype::passes( - &self.query, - seqvar, - &res_quality - .no_call_samples - .iter() - .map(|s| s.as_str()) - .collect::>(), - )? { - return Ok(PassesResult { pass_all: false }); - } // If we passed until here, check the presence in ClinVar which needs a database lookup. Ok(PassesResult { pass_all: clinvar::passes(&self.query, annotator, seqvar)?, diff --git a/src/seqvars/query/interpreter/quality.rs b/src/seqvars/query/interpreter/quality.rs index 196938ac..d7b1a1cf 100644 --- a/src/seqvars/query/interpreter/quality.rs +++ b/src/seqvars/query/interpreter/quality.rs @@ -6,22 +6,9 @@ use crate::{ }, }; -/// Return type for the `passes` function. -#[derive(Debug)] -pub struct PassOrNoCall { - /// Whether the variant should be kept. - pub pass: bool, - /// For which samples should the genotype be interpreted as no-call. - pub no_call_samples: Vec, -} - /// Determine whether the `VariantRecord` passes the quality filter. /// Will return `FailFilterChoice::Ignore` if the variant passes. -pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> Result { - let mut result = PassOrNoCall { - pass: true, - no_call_samples: Vec::new(), - }; +pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> Result { for (sample_name, quality_settings) in &query.quality.sample_qualities { if let Some(call_info) = seqvar.call_infos.get(sample_name) { if !passes_for_sample(quality_settings, call_info) { @@ -33,8 +20,12 @@ pub fn passes(query: &CaseQuery, seqvar: &VariantRecord) -> Result Result bool { + // Short-circuit if the filter is not active. + if !quality_settings.filter_active { + return true; + } + // Ad-hoc enum for genotype. #[derive(PartialEq, Eq)] enum Genotype { @@ -143,15 +134,14 @@ mod test { }; #[rstest::rstest] - #[case(false, true, true, false)] - #[case(false, false, true, false)] - #[case(true, true, true, false)] - #[case(true, false, false, false)] + #[case(false, true, true)] + #[case(false, false, true)] + #[case(true, true, true)] + #[case(true, false, false)] fn passes( #[case] filter_active: bool, #[case] should_pass: bool, - #[case] expected_pass: bool, - #[case] any_no_call_sample: bool, + #[case] expected: bool, ) -> Result<(), anyhow::Error> { let query = CaseQuery { quality: QuerySettingsQuality { @@ -181,17 +171,7 @@ mod test { let res = super::passes(&query, &seqvar)?; assert_eq!( - res.pass, expected_pass, - "query = {:#?}, seqvar = {:#?}", - &query, &seqvar - ); - let expected = if any_no_call_sample { - vec![String::from("sample")] - } else { - vec![] - }; - assert_eq!( - &res.no_call_samples, &expected, + res, expected, "query = {:#?}, seqvar = {:#?}", &query, &seqvar ); @@ -477,7 +457,7 @@ mod test { assert_eq!( super::passes_for_sample(&settings, &call_info), expected, - "settings: {:?}, call info: {:?}", + "settings: {:#?}, call info: {:#?}", settings, call_info ); diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index e20c31c8..7430416d 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -100,7 +100,7 @@ fn passes_for_gene(query: &CaseQuery, seqvars: &Vec) -> Result { index.clone_from(sample_name); } - GenotypeChoice::RecessiveParent => { + GenotypeChoice::RecessiveFather | GenotypeChoice::RecessiveMother => { parents.push(sample_name.clone()); } _ => (), @@ -607,8 +607,8 @@ mod test { recessive_mode, sample_genotypes: indexmap::indexmap! { String::from("index") => SampleGenotypeChoice { sample: String::from("index"), genotype: GenotypeChoice::RecessiveIndex, ..Default::default() }, - String::from("father") => SampleGenotypeChoice { sample: String::from("father"), genotype: GenotypeChoice::RecessiveParent, ..Default::default() }, - String::from("mother") => SampleGenotypeChoice { sample: String::from("mother"), genotype: GenotypeChoice::RecessiveParent, ..Default::default() }, + String::from("father") => SampleGenotypeChoice { sample: String::from("father"), genotype: GenotypeChoice::RecessiveFather, ..Default::default() }, + String::from("mother") => SampleGenotypeChoice { sample: String::from("mother"), genotype: GenotypeChoice::RecessiveMother, ..Default::default() }, }, }, ..Default::default() diff --git a/src/seqvars/query/output/variant_related.rs b/src/seqvars/query/output/variant_related.rs index 22459433..ac834107 100644 --- a/src/seqvars/query/output/variant_related.rs +++ b/src/seqvars/query/output/variant_related.rs @@ -420,10 +420,10 @@ impl Frequency { FrequencyBuilder::default() .gnomad_mtdna( MtdnaFrequency::new( - seqvar.population_frequencies.gnomad_mt.af(), - seqvar.population_frequencies.gnomad_mt.ac(), - seqvar.population_frequencies.gnomad_mt.het(), - seqvar.population_frequencies.gnomad_mt.hom(), + seqvar.population_frequencies.gnomad_mtdna.af(), + seqvar.population_frequencies.gnomad_mtdna.ac(), + seqvar.population_frequencies.gnomad_mtdna.het(), + seqvar.population_frequencies.gnomad_mtdna.hom(), ) .some_unless_empty(), ) diff --git a/src/seqvars/query/schema/data.rs b/src/seqvars/query/schema/data.rs index 7a3aa9f5..065f9e8e 100644 --- a/src/seqvars/query/schema/data.rs +++ b/src/seqvars/query/schema/data.rs @@ -205,7 +205,7 @@ impl An for InHouseFrequencies { impl Carriers for InHouseFrequencies { fn carriers(&self) -> i32 { - 2 * self.hom + self.het + self.hemi + self.hom + self.het + self.hemi } } @@ -217,7 +217,7 @@ pub struct PopulationFrequencies { /// Frequencies in gnomAD-genomes. pub gnomad_genomes: NuclearFrequencies, /// Frequencies in gnomAD-MT. - pub gnomad_mt: MitochondrialFrequencies, + pub gnomad_mtdna: MitochondrialFrequencies, /// Frequencies in HelixMtDb. pub helixmtdb: MitochondrialFrequencies, /// Frequencies in In-house database. @@ -284,7 +284,7 @@ impl TryFromVcf for PopulationFrequencies { het: gnomad_genomes_het, hemi: gnomad_genomes_hemi, }, - gnomad_mt: MitochondrialFrequencies { + gnomad_mtdna: MitochondrialFrequencies { an: gnomad_mtdna_an, hom: gnomad_mtdna_hom, het: gnomad_mtdna_het, @@ -608,7 +608,7 @@ mod tests { PopulationFrequencies { gnomad_exomes: nuclear_frequencies.clone(), gnomad_genomes: nuclear_frequencies.clone(), - gnomad_mt: mitochondrial_frequencies.clone(), + gnomad_mtdna: mitochondrial_frequencies.clone(), helixmtdb: mitochondrial_frequencies.clone(), inhouse: inhouse_frequencies.clone(), } @@ -681,14 +681,14 @@ mod tests { fn test_population_frequencies(population_frequencies: PopulationFrequencies) { assert_eq!(population_frequencies.gnomad_exomes.an, 100); assert_eq!(population_frequencies.gnomad_genomes.an, 100); - assert_eq!(population_frequencies.gnomad_mt.an, 100); + assert_eq!(population_frequencies.gnomad_mtdna.an, 100); assert_eq!(population_frequencies.helixmtdb.an, 100); assert_eq!(population_frequencies.inhouse.total, 35); } #[rstest::rstest] - #[case("tests/seqvars/query/Case_1.ingested.vcf")] - #[case("tests/seqvars/query/dragen.ingested.vcf")] + #[case::case_1_ingested_vcf("tests/seqvars/query/Case_1.ingested.vcf")] + #[case::dragen_ingested_vcf("tests/seqvars/query/dragen.ingested.vcf")] pub fn sequence_variant_from_vcf(#[case] path_input: &str) -> Result<(), anyhow::Error> { use noodles::vcf::variant::RecordBuf; diff --git a/src/seqvars/query/schema/query.rs b/src/seqvars/query/schema/query.rs index cec2a4f6..0cbdcbfc 100644 --- a/src/seqvars/query/schema/query.rs +++ b/src/seqvars/query/schema/query.rs @@ -90,22 +90,31 @@ pub enum GenotypeChoice { Variant, /// Recessive index. RecessiveIndex, - /// Recessive parent. - RecessiveParent, + /// Recessive father. + RecessiveFather, + /// Recessive mother. + RecessiveMother, } /// Supporting code for `GenotypeChoice`. pub(crate) mod genotype_choice { /// Error type for `GenotypeChoice::try_from()`. #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] - pub enum Error { + pub enum TryFromError { #[error("Cannot convert protobuf GenotypeChoice: {0:?}")] UnknownGenotypeChoiceValue(super::pb_query::GenotypeChoice), } + + /// Error type for `GenotypeChoice::matches()`. + #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] + pub enum MatchesError { + #[error("Cannot use genotype matches on recessive indicator: {0:?}")] + RecessiveIndicator(super::GenotypeChoice), + } } impl TryFrom for GenotypeChoice { - type Error = genotype_choice::Error; + type Error = genotype_choice::TryFromError; fn try_from(value: pb_query::GenotypeChoice) -> Result { match value { @@ -117,20 +126,32 @@ impl TryFrom for GenotypeChoice { pb_query::GenotypeChoice::NonHom => Ok(GenotypeChoice::NonHom), pb_query::GenotypeChoice::Variant => Ok(GenotypeChoice::Variant), pb_query::GenotypeChoice::RecessiveIndex => Ok(GenotypeChoice::RecessiveIndex), - pb_query::GenotypeChoice::RecessiveParent => Ok(GenotypeChoice::RecessiveParent), + pb_query::GenotypeChoice::RecessiveFather => Ok(GenotypeChoice::RecessiveFather), + pb_query::GenotypeChoice::RecessiveMother => Ok(GenotypeChoice::RecessiveMother), _ => Err(Self::Error::UnknownGenotypeChoiceValue(value)), } } } +/// Returns whether the given genotype script is treated as no-call. +/// +/// This is the case if the genotype string contains at least one ".". +pub fn considered_no_call(gt_str: &str) -> bool { + gt_str.contains('.') +} + /// Trait that describes whether a string matches a value. /// /// Note that we assume properly ingested VCFs with only one alternate allele. /// The valid genotype strings have the form "/", "|" or /// "" with "" being one of "0", "1", and ".". pub trait MatchesGenotypeStr { + type Error; + /// Whether `self` matches `s`. /// + /// Note that no-call genotypes do not match anything. + /// /// # Arguments /// /// * `gt_str` - The string to match against. @@ -138,29 +159,47 @@ pub trait MatchesGenotypeStr { /// # Returns /// /// `true` if `self` matches `gt_str`, `false` otherwise. - fn matches(&self, gt_tr: &str) -> bool; + /// + /// # Errors + /// + /// * When the conversion fails. + fn matches(&self, gt_tr: &str) -> Result; } impl MatchesGenotypeStr for GenotypeChoice { - fn matches(&self, gt_str: &str) -> bool { + type Error = genotype_choice::MatchesError; + + fn matches(&self, gt_str: &str) -> Result { let gt_str = if gt_str.starts_with('/') || gt_str.starts_with('|') { >_str[1..] } else { gt_str }; - match self { - GenotypeChoice::Any => true, + Ok(match self { + // atoms GenotypeChoice::Ref => ["0", "0|0", "0/0"].contains(>_str), - GenotypeChoice::RecessiveIndex - | GenotypeChoice::RecessiveParent - | GenotypeChoice::Het => ["0/1", "0|1", "1/0", "1|0"].contains(>_str), + GenotypeChoice::Het => ["0/1", "0|1", "1/0", "1|0"].contains(>_str), GenotypeChoice::Hom => ["1", "1/1", "1|1"].contains(>_str), - GenotypeChoice::NonHom => !["1", "1/1", "1|1"].contains(>_str), - GenotypeChoice::NonHet => !["0/1", "0|1", "1/0", "1|0"].contains(>_str), + // combinations GenotypeChoice::Variant => { - ["1", "0/1", "0|1", "1/0", "1|0", "1|1", "1/1"].contains(>_str) + GenotypeChoice::Het.matches(gt_str)? || GenotypeChoice::Hom.matches(gt_str)? } - } + GenotypeChoice::Any => { + GenotypeChoice::Ref.matches(gt_str)? || GenotypeChoice::Variant.matches(gt_str)? + } + GenotypeChoice::NonHom => { + GenotypeChoice::Ref.matches(gt_str)? || GenotypeChoice::Het.matches(gt_str)? + } + GenotypeChoice::NonHet => { + GenotypeChoice::Ref.matches(gt_str)? || GenotypeChoice::Hom.matches(gt_str)? + } + // recessive markers + GenotypeChoice::RecessiveIndex + | GenotypeChoice::RecessiveFather + | GenotypeChoice::RecessiveMother => { + return Err(Self::Error::RecessiveIndicator(*self)) + } + }) } } @@ -239,8 +278,10 @@ pub(crate) mod query_settings_genotype { /// Error type for `QuerySettingsGenotype::recessive_parents()`. #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] pub enum RecessiveParentsError { - #[error("Too many recessive parent samples found: {0:?}")] - TooManyRecessiveParentsFound(Vec), + #[error("Found two or more recessive fathers: {0:?}")] + Fathers(Vec), + #[error("Found two or more recessive mothers: {0:?}")] + Mothers(Vec), } /// Error type for `QuerySettingsGenotype::try_from()`. @@ -257,6 +298,28 @@ pub(crate) mod query_settings_genotype { } } +/// Struct for storing recessive mother/father. +#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +pub struct RecessiveParents { + /// Name of the father, if any. + pub father: Option, + /// Name of the mother, if any. + pub mother: Option, +} + +impl Into> for RecessiveParents { + fn into(self) -> Vec { + let mut result = Vec::new(); + if let Some(father) = self.father { + result.push(father); + } + if let Some(mother) = self.mother { + result.push(mother); + } + result + } +} + impl QuerySettingsGenotype { /// Return the selected recessive index sample. /// @@ -292,29 +355,43 @@ impl QuerySettingsGenotype { /// /// # Returns /// - /// The sample names of the recessive parent samples (zero to two). + /// Struct holding names of recessive father and mother, if any. /// /// # Errors /// - /// * `RecessiveParentsError::TooManyRecessiveParentsFound` if more than two recessive parent samples are found. + /// * `RecessiveParentsError::Fathers` or `RecessiveParentsError::Mothers` if more than two + /// recessive fathers/mothers samples are found. pub fn recessive_parents( &self, - ) -> Result, query_settings_genotype::RecessiveParentsError> { - let samples = self + ) -> Result { + let fathers = self .sample_genotypes .values() - .filter(|sgc| sgc.genotype == GenotypeChoice::RecessiveParent) + .filter(|sgc| matches!(sgc.genotype, GenotypeChoice::RecessiveFather)) .map(|sgc| sgc.sample.clone()) .collect::>(); - if samples.len() > 2 { - Err( - query_settings_genotype::RecessiveParentsError::TooManyRecessiveParentsFound( - samples, - ), - ) - } else { - Ok(samples) + if fathers.len() > 2 { + return Err(query_settings_genotype::RecessiveParentsError::Fathers( + fathers, + )); + } + + let mothers = self + .sample_genotypes + .values() + .filter(|sgc| matches!(sgc.genotype, GenotypeChoice::RecessiveMother)) + .map(|sgc| sgc.sample.clone()) + .collect::>(); + if mothers.len() > 2 { + return Err(query_settings_genotype::RecessiveParentsError::Mothers( + mothers, + )); } + + Ok(RecessiveParents { + father: fathers.into_iter().next(), + mother: mothers.into_iter().next(), + }) } } @@ -530,8 +607,8 @@ pub struct QuerySettingsFrequency { pub gnomad_exomes: GnomadNuclearFrequencySettings, /// gnomAD-genomes filter. pub gnomad_genomes: GnomadNuclearFrequencySettings, - /// gnomAD-MT filter. - pub gnomad_mt: GnomadMitochondrialFrequencySettings, + /// gnomAD-mtDNA filter. + pub gnomad_mtdna: GnomadMitochondrialFrequencySettings, /// HelixMtDb filter. pub helixmtdb: HelixMtDbFrequencySettings, /// In-house filter. @@ -547,8 +624,8 @@ pub(crate) mod query_settings_frequency { GnomadExomes, #[error("gnomad_genomes missing in protobuf")] GnomadGenomes, - #[error("gnomad_mt missing in protobuf")] - GnomadMt, + #[error("gnomad_mtdna missing in protobuf")] + GnomadMtdna, #[error("helixmtdb missing in protobuf")] HelixMtDb, #[error("inhouse missing in protobuf")] @@ -567,8 +644,8 @@ impl TryFrom for QuerySettingsFrequency { gnomad_genomes: GnomadNuclearFrequencySettings::from( value.gnomad_genomes.ok_or(Self::Error::GnomadGenomes)?, ), - gnomad_mt: GnomadMitochondrialFrequencySettings::from( - value.gnomad_mt.ok_or(Self::Error::GnomadMt)?, + gnomad_mtdna: GnomadMitochondrialFrequencySettings::from( + value.gnomad_mtdna.ok_or(Self::Error::GnomadMtdna)?, ), helixmtdb: HelixMtDbFrequencySettings::from( value.helixmtdb.ok_or(Self::Error::HelixMtDb)?, @@ -1199,6 +1276,28 @@ mod tests { use super::*; + #[rstest::rstest] + #[case::dot(".", true)] + #[case::dot_slash_dot("./.", true)] + #[case::dot_pipe_dot(".|.", true)] + #[case::zero("0", false)] + #[case::zero_slash_dot("0/.", true)] + #[case::zero_pipe_dot("0|.", true)] + #[case::dot_slash_zero("./0", true)] + #[case::dot_pipe_zero(".|0", true)] + #[case::one("1", false)] + #[case::one_slash_dot("1/.", true)] + #[case::one_pipe_dot("1|.", true)] + #[case::dot_slash_one("./1", true)] + #[case::dot_pipe_one(".|1", true)] + #[case::zero_slash_one("0/1", false)] + #[case::zero_pipe_one("0|1", false)] + #[case::one_slash_zero("1/0", false)] + #[case::one_pipe_zero("1|0", false)] + fn test_considered_no_call(#[case] gt: &str, #[case] expected: bool) { + assert_eq!(super::considered_no_call(gt), expected); + } + #[test] fn test_recessive_mode_try_from() { assert_eq!( @@ -1255,8 +1354,12 @@ mod tests { GenotypeChoice::RecessiveIndex ); assert_eq!( - GenotypeChoice::try_from(pb_query::GenotypeChoice::RecessiveParent).unwrap(), - GenotypeChoice::RecessiveParent + GenotypeChoice::try_from(pb_query::GenotypeChoice::RecessiveFather).unwrap(), + GenotypeChoice::RecessiveFather + ); + assert_eq!( + GenotypeChoice::try_from(pb_query::GenotypeChoice::RecessiveMother).unwrap(), + GenotypeChoice::RecessiveMother ); assert!(GenotypeChoice::try_from(pb_query::GenotypeChoice::Unspecified).is_err()); } @@ -1300,18 +1403,20 @@ mod tests { #[case] genotype_choice: GenotypeChoice, #[case] gt_strs: &[&str], #[case] expected: bool, - ) { + ) -> Result<(), anyhow::Error> { use crate::seqvars::query::schema::query::MatchesGenotypeStr as _; for gt_str in gt_strs { assert_eq!( - genotype_choice.matches(gt_str), + genotype_choice.matches(gt_str)?, expected, "{:?} {}", genotype_choice, gt_str ); } + + Ok(()) } } @@ -1579,7 +1684,7 @@ mod tests { hemizygous: Some(30), frequency: Some(0.1), }), - gnomad_mt: Some(pb_query::GnomadMitochondrialFrequencySettings { + gnomad_mtdna: Some(pb_query::GnomadMitochondrialFrequencySettings { enabled: true, heteroplasmic: Some(10), homoplasmic: Some(20), @@ -1614,7 +1719,7 @@ mod tests { hemizygous: Some(30), frequency: Some(0.1), }, - gnomad_mt: GnomadMitochondrialFrequencySettings { + gnomad_mtdna: GnomadMitochondrialFrequencySettings { enabled: true, heteroplasmic: Some(10), homoplasmic: Some(20), @@ -2007,7 +2112,7 @@ mod tests { hemizygous: Some(30), frequency: Some(0.1), }), - gnomad_mt: Some(pb_query::GnomadMitochondrialFrequencySettings { + gnomad_mtdna: Some(pb_query::GnomadMitochondrialFrequencySettings { enabled: true, heteroplasmic: Some(10), homoplasmic: Some(20), @@ -2118,7 +2223,7 @@ mod tests { hemizygous: Some(30), frequency: Some(0.1), }, - gnomad_mt: GnomadMitochondrialFrequencySettings { + gnomad_mtdna: GnomadMitochondrialFrequencySettings { enabled: true, heteroplasmic: Some(10), homoplasmic: Some(20), diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap new file mode 100644 index 00000000..d4ce3142 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-10.snap @@ -0,0 +1,203 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41273700 + ref_allele: C + alt_allele: CA +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 42 + dp: 14 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 10 + dp: 7 + ad: 1 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 65 + dp: 10 + ad: 5 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: CA + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 2 + total: 22 + hgvs_t: c.80+2333_80+2334insT + hgvs_p: p.? + tx_pos: + ord: 193 + total: 7088 + cds_pos: + ord: 80 + total: 5592 + protein_pos: ~ + distance: -2334 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: CA + consequences: + - 5_prime_UTR_intron_variant + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 2 + total: 21 + hgvs_t: c.-8+2333_-8+2334insT + hgvs_p: p.? + tx_pos: + ord: 187 + total: 7028 + cds_pos: + ord: -8 + total: 5451 + protein_pos: ~ + distance: -2334 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: CA + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 1 + total: 21 + hgvs_t: c.80+2333_80+2334insT + hgvs_p: p.? + tx_pos: + ord: 99 + total: 3682 + cds_pos: + ord: 80 + total: 2280 + protein_pos: ~ + distance: -2334 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: CA + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 2 + total: 21 + hgvs_t: c.80+2333_80+2334insT + hgvs_p: p.? + tx_pos: + ord: 187 + total: 3696 + cds_pos: + ord: 80 + total: 2100 + protein_pos: ~ + distance: -2334 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: CA + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 2 + total: 23 + hgvs_t: c.80+2333_80+2334insT + hgvs_p: p.? + tx_pos: + ord: 193 + total: 7151 + cds_pos: + ord: 80 + total: 5655 + protein_pos: ~ + distance: -2334 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap new file mode 100644 index 00000000..b1a4c8c8 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-11.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 73 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3975 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2871 + ad: 2871 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3320 + ad: 3320 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap new file mode 100644 index 00000000..93d1fae2 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-12.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 119 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 5418 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 4039 + ad: 4039 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 4113 + ad: 4112 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap new file mode 100644 index 00000000..6362a4e5 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-13.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 189 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3069 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1721 + ad: 1721 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2204 + ad: 2204 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap new file mode 100644 index 00000000..9eb3ac32 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-14.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 195 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2599 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1592 + ad: 1592 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1815 + ad: 1815 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap new file mode 100644 index 00000000..7afee8ea --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-15.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 204 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2180 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1424 + ad: 1424 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1304 + ad: 1304 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap new file mode 100644 index 00000000..c5e2ab09 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-16.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 207 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2115 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1408 + ad: 1408 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1277 + ad: 1277 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap new file mode 100644 index 00000000..4a2c94e6 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-17.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 263 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1288 + ad: 1288 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1204 + ad: 1204 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1031 + ad: 1031 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap new file mode 100644 index 00000000..fbaa4638 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-18.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 302 + ref_allele: A + alt_allele: ACC +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 844 + ad: 687 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1011 + ad: 6 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 803 + ad: 3 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap new file mode 100644 index 00000000..421621a7 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-19.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 310 + ref_allele: T + alt_allele: TC +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1035 + ad: 1035 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1411 + ad: 1411 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1091 + ad: 1090 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap new file mode 100644 index 00000000..019cc199 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-2.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41252332 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 75 + dp: 25 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 28 + ad: 14 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 40 + ad: 21 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.442-435A>G + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7088 + cds_pos: + ord: 442 + total: 5592 + protein_pos: ~ + distance: 435 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.301-435A>G + hgvs_p: p.? + tx_pos: + ord: 495 + total: 7028 + cds_pos: + ord: 301 + total: 5451 + protein_pos: ~ + distance: 435 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.442-435A>G + hgvs_p: p.? + tx_pos: + ord: 461 + total: 3682 + cds_pos: + ord: 442 + total: 2280 + protein_pos: ~ + distance: 435 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.442-435A>G + hgvs_p: p.? + tx_pos: + ord: 549 + total: 3696 + cds_pos: + ord: 442 + total: 2100 + protein_pos: ~ + distance: 435 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.442-435A>G + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7151 + cds_pos: + ord: 442 + total: 5655 + protein_pos: ~ + distance: 435 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap new file mode 100644 index 00000000..5681548c --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-20.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 477 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2133 + ad: 2129 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2267 + ad: 1 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1725 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap new file mode 100644 index 00000000..9ee2e85c --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-21.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 709 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2494 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2186 + ad: 2186 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1814 + ad: 1813 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap new file mode 100644 index 00000000..7bbf606e --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-22.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 750 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2757 + ad: 2757 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2392 + ad: 2392 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1621 + ad: 1621 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap new file mode 100644 index 00000000..cfcfa2f9 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-23.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 879 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2853 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2784 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 1898 + ad: 547 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap new file mode 100644 index 00000000..1b6b4303 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-24.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 1243 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2675 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2198 + ad: 2198 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1655 + ad: 1655 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap new file mode 100644 index 00000000..3b5ae0e8 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-25.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 1438 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3815 + ad: 3815 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3653 + ad: 3653 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2900 + ad: 2900 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap new file mode 100644 index 00000000..b553d222 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-26.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 1824 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2668 + ad: 2668 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2409 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1752 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap new file mode 100644 index 00000000..b42db030 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-27.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 2633 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2535 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 2409 + ad: 761 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2269 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap new file mode 100644 index 00000000..95e59a31 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-28.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 2706 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3200 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2847 + ad: 2847 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2020 + ad: 2020 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap new file mode 100644 index 00000000..0b9f496b --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-29.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 3010 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2841 + ad: 2841 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2385 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1685 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap new file mode 100644 index 00000000..e756d7e2 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-3.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41252691 + ref_allele: ATATAAT + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 27 + dp: 9 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 14 + ad: 10 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 23 + ad: 11 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.442-800_442-795del + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7088 + cds_pos: + ord: 442 + total: 5592 + protein_pos: ~ + distance: 795 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.301-800_301-795del + hgvs_p: p.? + tx_pos: + ord: 495 + total: 7028 + cds_pos: + ord: 301 + total: 5451 + protein_pos: ~ + distance: 795 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.442-800_442-795del + hgvs_p: p.? + tx_pos: + ord: 461 + total: 3682 + cds_pos: + ord: 442 + total: 2280 + protein_pos: ~ + distance: 795 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.442-800_442-795del + hgvs_p: p.? + tx_pos: + ord: 549 + total: 3696 + cds_pos: + ord: 442 + total: 2100 + protein_pos: ~ + distance: 795 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.442-800_442-795del + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7151 + cds_pos: + ord: 442 + total: 5655 + protein_pos: ~ + distance: 795 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap new file mode 100644 index 00000000..afd93b4a --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-30.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 3505 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2594 + ad: 14 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2363 + ad: 2363 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1664 + ad: 1664 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap new file mode 100644 index 00000000..51d984b0 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-31.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 3784 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 2936 + ad: 2456 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2504 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1991 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap new file mode 100644 index 00000000..47db3fb1 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-32.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 4769 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2689 + ad: 2689 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2549 + ad: 2549 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2108 + ad: 2108 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap new file mode 100644 index 00000000..7cfb6c79 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-33.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 5046 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2878 + ad: 2 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2466 + ad: 2466 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1661 + ad: 1661 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap new file mode 100644 index 00000000..1556b86e --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-34.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 5460 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2907 + ad: 2 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2759 + ad: 2759 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1970 + ad: 1968 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap new file mode 100644 index 00000000..62f441fb --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-35.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 7028 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2580 + ad: 3 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2203 + ad: 2201 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1946 + ad: 1945 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap new file mode 100644 index 00000000..2ec61c37 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-36.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 7864 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3589 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3465 + ad: 3465 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2746 + ad: 2746 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap new file mode 100644 index 00000000..520a7211 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-37.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 8170 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2052 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2257 + ad: 2257 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1774 + ad: 1774 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap new file mode 100644 index 00000000..02bd03f5 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-38.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 8251 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2360 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2317 + ad: 2317 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1625 + ad: 1624 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap new file mode 100644 index 00000000..46043bc7 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-39.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 8860 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3278 + ad: 3278 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3088 + ad: 3088 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2241 + ad: 2241 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap new file mode 100644 index 00000000..67999b0f --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-4.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41252693 + ref_allele: ATAAT + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 27 + dp: 9 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 42 + dp: 14 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 22 + ad: 11 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.442-800_442-797del + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7088 + cds_pos: + ord: 442 + total: 5592 + protein_pos: ~ + distance: 797 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.301-800_301-797del + hgvs_p: p.? + tx_pos: + ord: 495 + total: 7028 + cds_pos: + ord: 301 + total: 5451 + protein_pos: ~ + distance: 797 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.442-800_442-797del + hgvs_p: p.? + tx_pos: + ord: 461 + total: 3682 + cds_pos: + ord: 442 + total: 2280 + protein_pos: ~ + distance: 797 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.442-800_442-797del + hgvs_p: p.? + tx_pos: + ord: 549 + total: 3696 + cds_pos: + ord: 442 + total: 2100 + protein_pos: ~ + distance: 797 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.442-800_442-797del + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7151 + cds_pos: + ord: 442 + total: 5655 + protein_pos: ~ + distance: 797 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap new file mode 100644 index 00000000..00717d2b --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-40.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 8994 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2793 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2368 + ad: 2368 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1918 + ad: 1917 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap new file mode 100644 index 00000000..10e8ec5c --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-41.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 9007 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2959 + ad: 2959 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2442 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1735 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap new file mode 100644 index 00000000..fdd0311b --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-42.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 9150 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3163 + ad: 3163 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3538 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2767 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap new file mode 100644 index 00000000..0067fd17 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-43.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 9380 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3321 + ad: 3320 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3222 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2547 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap new file mode 100644 index 00000000..1746d779 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-44.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 10097 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2660 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 2188 + ad: 508 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1851 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap new file mode 100644 index 00000000..4fd0ab9f --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-45.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 11204 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3173 + ad: 5 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2922 + ad: 2922 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2418 + ad: 2418 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap new file mode 100644 index 00000000..af5aeb43 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-46.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 11674 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2890 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2666 + ad: 2666 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2180 + ad: 2179 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap new file mode 100644 index 00000000..23cc5e5d --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-47.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 11719 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3341 + ad: 2 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3052 + ad: 3052 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2203 + ad: 2203 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap new file mode 100644 index 00000000..2fb499d6 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-48.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 11947 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2581 + ad: 2 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2273 + ad: 2273 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1804 + ad: 1804 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap new file mode 100644 index 00000000..24dd7731 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-49.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 12414 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2855 + ad: 3 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2546 + ad: 2545 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1733 + ad: 1733 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap new file mode 100644 index 00000000..38d66190 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-5.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41252695 + ref_allele: AAT + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/1 + quality: 79 + dp: 9 + ad: 6 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 42 + dp: 14 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 66 + dp: 22 + ad: 0 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.442-800_442-799del + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7088 + cds_pos: + ord: 442 + total: 5592 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.301-800_301-799del + hgvs_p: p.? + tx_pos: + ord: 495 + total: 7028 + cds_pos: + ord: 301 + total: 5451 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.442-800_442-799del + hgvs_p: p.? + tx_pos: + ord: 461 + total: 3682 + cds_pos: + ord: 442 + total: 2280 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.442-800_442-799del + hgvs_p: p.? + tx_pos: + ord: 549 + total: 3696 + cds_pos: + ord: 442 + total: 2100 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.442-800_442-799del + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7151 + cds_pos: + ord: 442 + total: 5655 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap new file mode 100644 index 00000000..71bb7b61 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-50.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 12648 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1813 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1664 + ad: 1662 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1781 + ad: 1777 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap new file mode 100644 index 00000000..5dff0cf5 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-51.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 12705 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2369 + ad: 10 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2138 + ad: 2137 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1622 + ad: 1621 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap new file mode 100644 index 00000000..598c5973 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-52.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 13406 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2540 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2216 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 1957 + ad: 733 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap new file mode 100644 index 00000000..1e4fce98 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-53.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 13611 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3840 + ad: 2 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3717 + ad: 3717 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2835 + ad: 2834 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap new file mode 100644 index 00000000..be58bf15 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-54.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 13928 + ref_allele: G + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 2947 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2700 + ad: 2700 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1880 + ad: 1880 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap new file mode 100644 index 00000000..1dcaf8ed --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-55.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 14148 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3021 + ad: 2 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2820 + ad: 2820 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1962 + ad: 1962 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap new file mode 100644 index 00000000..ee717b2c --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-56.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 14766 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3321 + ad: 3 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3113 + ad: 3111 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2358 + ad: 2355 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap new file mode 100644 index 00000000..0afaa75f --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-57.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 15326 + ref_allele: A + alt_allele: G +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3716 + ad: 3716 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3560 + ad: 3560 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2690 + ad: 2690 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap new file mode 100644 index 00000000..736d6acb --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-58.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 15884 + ref_allele: G + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 3596 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 3167 + ad: 3167 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2734 + ad: 2733 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap new file mode 100644 index 00000000..ff4127e4 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-59.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 16184 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1407 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1969 + ad: 1969 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1478 + ad: 1478 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap new file mode 100644 index 00000000..de04f209 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-6.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41252696 + ref_allele: A + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/1 + quality: 78 + dp: 9 + ad: 3 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/1 + quality: 98 + dp: 14 + ad: 4 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 67 + dp: 22 + ad: 0 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.442-799T>A + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7088 + cds_pos: + ord: 442 + total: 5592 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.301-799T>A + hgvs_p: p.? + tx_pos: + ord: 495 + total: 7028 + cds_pos: + ord: 301 + total: 5451 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.442-799T>A + hgvs_p: p.? + tx_pos: + ord: 461 + total: 3682 + cds_pos: + ord: 442 + total: 2280 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.442-799T>A + hgvs_p: p.? + tx_pos: + ord: 549 + total: 3696 + cds_pos: + ord: 442 + total: 2100 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.442-799T>A + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7151 + cds_pos: + ord: 442 + total: 5655 + protein_pos: ~ + distance: 799 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap new file mode 100644 index 00000000..345609b8 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-60.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 16223 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1406 + ad: 1 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 2018 + ad: 2018 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1472 + ad: 1472 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap new file mode 100644 index 00000000..83e3ec46 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-61.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 16263 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1478 + ad: 1476 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1994 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1475 + ad: 0 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap new file mode 100644 index 00000000..00ccc4e5 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-62.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 16292 + ref_allele: C + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 1652 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1914 + ad: 1913 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1476 + ad: 1476 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap new file mode 100644 index 00000000..1b6d6c29 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-63.snap @@ -0,0 +1,56 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 16519 + ref_allele: T + alt_allele: C +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1759 + ad: 1759 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 4094 + ad: 4094 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 1744 + ad: 1744 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap new file mode 100644 index 00000000..655adaaf --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-7.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41252697 + ref_allele: A + alt_allele: AT +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /1/1 + quality: 99 + dp: 45 + ad: 45 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /1/0 + quality: 99 + dp: 33 + ad: 17 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /1/0 + quality: 99 + dp: 33 + ad: 11 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: AT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.442-801_442-800insA + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7088 + cds_pos: + ord: 442 + total: 5592 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: AT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.301-801_301-800insA + hgvs_p: p.? + tx_pos: + ord: 495 + total: 7028 + cds_pos: + ord: 301 + total: 5451 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: AT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.442-801_442-800insA + hgvs_p: p.? + tx_pos: + ord: 461 + total: 3682 + cds_pos: + ord: 442 + total: 2280 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: AT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.442-801_442-800insA + hgvs_p: p.? + tx_pos: + ord: 549 + total: 3696 + cds_pos: + ord: 442 + total: 2100 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: AT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.442-801_442-800insA + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7151 + cds_pos: + ord: 442 + total: 5655 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap new file mode 100644 index 00000000..dac0679d --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-8.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41252697 + ref_allele: A + alt_allele: ATT +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 45 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 33 + ad: 16 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 33 + ad: 21 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: ATT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.442-801_442-800insAA + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7088 + cds_pos: + ord: 442 + total: 5592 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: ATT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.301-801_301-800insAA + hgvs_p: p.? + tx_pos: + ord: 495 + total: 7028 + cds_pos: + ord: 301 + total: 5451 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: ATT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.442-801_442-800insAA + hgvs_p: p.? + tx_pos: + ord: 461 + total: 3682 + cds_pos: + ord: 442 + total: 2280 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: ATT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.442-801_442-800insAA + hgvs_p: p.? + tx_pos: + ord: 549 + total: 3696 + cds_pos: + ord: 442 + total: 2100 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: ATT + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.442-801_442-800insAA + hgvs_p: p.? + tx_pos: + ord: 555 + total: 7151 + cds_pos: + ord: 442 + total: 5655 + protein_pos: ~ + distance: 801 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap new file mode 100644 index 00000000..94670a08 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf-9.snap @@ -0,0 +1,202 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41254393 + ref_allele: G + alt_allele: T +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/1 + quality: 66 + dp: 37 + ad: 8 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /./. + quality: ~ + dp: ~ + ad: ~ + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/0 + quality: 47 + dp: 35 + ad: 3 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.441+1746C>A + hgvs_p: p.? + tx_pos: + ord: 554 + total: 7088 + cds_pos: + ord: 441 + total: 5592 + protein_pos: ~ + distance: -1746 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.300+1746C>A + hgvs_p: p.? + tx_pos: + ord: 494 + total: 7028 + cds_pos: + ord: 300 + total: 5451 + protein_pos: ~ + distance: -1746 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.441+1746C>A + hgvs_p: p.? + tx_pos: + ord: 460 + total: 3682 + cds_pos: + ord: 441 + total: 2280 + protein_pos: ~ + distance: -1746 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.441+1746C>A + hgvs_p: p.? + tx_pos: + ord: 548 + total: 3696 + cds_pos: + ord: 441 + total: 2100 + protein_pos: ~ + distance: -1746 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: T + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.441+1746C>A + hgvs_p: p.? + tx_pos: + ord: 554 + total: 7151 + cds_pos: + ord: 441 + total: 5655 + protein_pos: ~ + distance: -1746 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf.snap new file mode 100644 index 00000000..a703056d --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@Case_1.ingested.vcf.snap @@ -0,0 +1,217 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41249263 + ref_allele: G + alt_allele: A +call_infos: + Case_1_father-N1-DNA1-WGS1: + sample: Case_1_father-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 52 + ad: 0 + phasing_id: ~ + Case_1_index-N1-DNA1-WGS1: + sample: Case_1_index-N1-DNA1-WGS1 + genotype: /0/0 + quality: 99 + dp: 46 + ad: 0 + phasing_id: ~ + Case_1_mother-N1-DNA1-WGS1: + sample: Case_1_mother-N1-DNA1-WGS1 + genotype: /0/1 + quality: 99 + dp: 42 + ad: 21 + phasing_id: ~ +ann_fields: + - allele: + Alt: + alternative: A + consequences: + - splice_region_variant + - synonymous_variant + putative_impact: LOW + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 8 + total: 23 + hgvs_t: c.591C>T + hgvs_p: p.Cys197= + tx_pos: + ord: 704 + total: 7088 + cds_pos: + ord: 591 + total: 5592 + protein_pos: + ord: 197 + total: 1864 + distance: 0 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - splice_region_variant + - synonymous_variant + putative_impact: LOW + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 7 + total: 22 + hgvs_t: c.450C>T + hgvs_p: p.Cys150= + tx_pos: + ord: 644 + total: 7028 + cds_pos: + ord: 450 + total: 5451 + protein_pos: + ord: 150 + total: 1817 + distance: 0 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - splice_region_variant + - synonymous_variant + putative_impact: LOW + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 7 + total: 22 + hgvs_t: c.591C>T + hgvs_p: p.Cys197= + tx_pos: + ord: 610 + total: 3682 + cds_pos: + ord: 591 + total: 2280 + protein_pos: + ord: 197 + total: 760 + distance: 0 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - splice_region_variant + - synonymous_variant + putative_impact: LOW + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 8 + total: 22 + hgvs_t: c.591C>T + hgvs_p: p.Cys197= + tx_pos: + ord: 698 + total: 3696 + cds_pos: + ord: 591 + total: 2100 + protein_pos: + ord: 197 + total: 700 + distance: 0 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: A + consequences: + - splice_region_variant + - synonymous_variant + putative_impact: LOW + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 8 + total: 24 + hgvs_t: c.591C>T + hgvs_p: p.Cys197= + tx_pos: + ord: 704 + total: 7151 + cds_pos: + ord: 591 + total: 5655 + protein_pos: + ord: 197 + total: 1885 + distance: 0 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 31398 + hom: 0 + het: 56 + hemi: 0 + gnomad_genomes: + an: 251304 + hom: 0 + het: 369 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap new file mode 100644 index 00000000..beef88b9 --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf-2.snap @@ -0,0 +1,42 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: MT + pos: 750 + ref_allele: A + alt_allele: G +call_infos: + CASE: + sample: CASE + genotype: /1/1 + quality: 98 + dp: 5608 + ad: 5607 + phasing_id: ~ +ann_fields: [] +population_frequencies: + gnomad_exomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf.snap new file mode 100644 index 00000000..e65530ef --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__data__tests__sequence_variant_from_vcf@dragen.ingested.vcf.snap @@ -0,0 +1,188 @@ +--- +source: src/seqvars/query/schema/data.rs +expression: "&seqvar" +--- +vcf_variant: + chrom: "17" + pos: 41256074 + ref_allele: CA + alt_allele: C +call_infos: + CASE: + sample: CASE + genotype: "|0|1" + quality: 47 + dp: 32 + ad: 14 + phasing_id: 41256074 +ann_fields: + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007294.4 + feature_biotype: + - Coding + - ManeSelect + rank: + ord: 6 + total: 22 + hgvs_t: c.441+64del + hgvs_p: p.? + tx_pos: + ord: 554 + total: 7088 + cds_pos: + ord: 441 + total: 5592 + protein_pos: ~ + distance: -64 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007297.4 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.300+64del + hgvs_p: p.? + tx_pos: + ord: 494 + total: 7028 + cds_pos: + ord: 300 + total: 5451 + protein_pos: ~ + distance: -64 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007298.3 + feature_biotype: + - Coding + rank: + ord: 5 + total: 21 + hgvs_t: c.441+64del + hgvs_p: p.? + tx_pos: + ord: 460 + total: 3682 + cds_pos: + ord: 441 + total: 2280 + protein_pos: ~ + distance: -64 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007299.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 21 + hgvs_t: c.441+64del + hgvs_p: p.? + tx_pos: + ord: 548 + total: 3696 + cds_pos: + ord: 441 + total: 2100 + protein_pos: ~ + distance: -64 + strand: -1 + messages: ~ + - allele: + Alt: + alternative: C + consequences: + - intron_variant + putative_impact: MODIFIER + gene_symbol: BRCA1 + gene_id: "HGNC:1100" + feature_type: + SoTerm: + term: Transcript + feature_id: NM_007300.4 + feature_biotype: + - Coding + rank: + ord: 6 + total: 23 + hgvs_t: c.441+64del + hgvs_p: p.? + tx_pos: + ord: 554 + total: 7151 + cds_pos: + ord: 441 + total: 5655 + protein_pos: ~ + distance: -64 + strand: -1 + messages: ~ +population_frequencies: + gnomad_exomes: + an: 20150 + hom: 2725 + het: 5476 + hemi: 0 + gnomad_genomes: + an: 0 + hom: 0 + het: 0 + hemi: 0 + gnomad_mtdna: + an: 0 + hom: 0 + het: 0 + helixmtdb: + an: 0 + hom: 0 + het: 0 + inhouse: + hom: 0 + het: 0 + hemi: 0 + total: 0 diff --git a/tests/seqvars/aggregate/ingest.vcf b/tests/seqvars/aggregate/ingest.vcf index 30f58f9b..ea7b1054 100644 --- a/tests/seqvars/aggregate/ingest.vcf +++ b/tests/seqvars/aggregate/ingest.vcf @@ -10,7 +10,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -52,5 +52,5 @@ ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974| GT:AD:DP:GQ 0/0:29:29:87 0/1:23:36:99 0/1:15:32:99 +17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974|-1| GT:AD:DP:GQ 0/0:29:29:87 0/1:23:36:99 0/1:15:32:99 MT 750 . A G . . . GT:AD:DP:GQ /1/1:0:2757:99 /1/1:0:2392:99 /1/1:0:1621:99 diff --git a/tests/seqvars/prefilter/ingest.vcf b/tests/seqvars/prefilter/ingest.vcf index 21d6716c..a2a48e52 100644 --- a/tests/seqvars/prefilter/ingest.vcf +++ b/tests/seqvars/prefilter/ingest.vcf @@ -10,7 +10,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -51,5 +51,5 @@ ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974| GT:AD:DP:GQ 0/0:29:29:87 0/1:23:36:99 0/1:15:32:99 +17 41210126 . C CTAGCACTT . . gnomad_exomes_an=31272;gnomad_exomes_hom=0;gnomad_exomes_het=85;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|18/22|c.5194-975_5194-974insAAGTGCTA|p.?|5307/7088|5194/5592||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|17/21|c.5053-975_5053-974insAAGTGCTA|p.?|5247/7028|5053/5451||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|18/21|c.1882-975_1882-974insAAGTGCTA|p.?|1989/3696|1882/2100||-974|-1|,CTAGCACTT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|19/23|c.5257-975_5257-974insAAGTGCTA|p.?|5370/7151|5257/5655||-974|-1| GT:AD:DP:GQ 0/0:29:29:87 0/1:23:36:99 0/1:15:32:99 MT 750 . A G . . . GT:AD:DP:GQ /1/1:0:2757:99 /1/1:0:2392:99 /1/1:0:1621:99 diff --git a/tests/seqvars/query/Case_1.ingested.vcf b/tests/seqvars/query/Case_1.ingested.vcf index 6540534f..5242edc5 100644 --- a/tests/seqvars/query/Case_1.ingested.vcf +++ b/tests/seqvars/query/Case_1.ingested.vcf @@ -7,10 +7,14 @@ ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -53,66 +57,66 @@ ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 -17 41249263 . G A . . gnomad_exomes_an=31398;gnomad_exomes_hom=0;gnomad_exomes_het=56;gnomad_genomes_an=251304;gnomad_genomes_hom=0;gnomad_genomes_het=369;clinvar_clinsig=benign;clinvar_rcv=RCV001353617;ANN=A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|8/23|c.591C>T|p.C197=|704/7088|591/5592|197/1864|44|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/22|c.450C>T|p.C150=|644/7028|450/5451|150/1817|44|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/22|c.591C>T|p.C197=|698/3696|591/2100|197/700|44|,A|splice_region_variant&synonymous_variant|MODERATE|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/24|c.591C>T|p.C197=|704/7151|591/5655|197/1885|44| GT:AD:DP:GQ /0/0:52,0:52:99 /0/0:46,0:46:99 /0/1:21,21:42:99 -17 41252332 . T C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.442-435A>G|p.?|555/7088|442/5592||-434|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-435A>G|p.?|495/7028|301/5451||-434|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-435A>G|p.?|549/3696|442/2100||-434|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-435A>G|p.?|555/7151|442/5655||-434| GT:AD:DP:GQ /0/0:25,0:25:75 /0/1:14,14:28:99 /0/1:19,21:40:99 -17 41252691 . ATATAAT A . . gnomad_exomes_an=2368;gnomad_exomes_hom=10;gnomad_exomes_het=80;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.442-800_442-795delATTATA|p.?|555/7088|442/5592||-794|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-795delATTATA|p.?|495/7028|301/5451||-794|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-795delATTATA|p.?|549/3696|442/2100||-794|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-795delATTATA|p.?|555/7151|442/5655||-794| GT:AD:DP:GQ /0/0:9,0:9:27 /0/1:4,10:14:99 /0/1:12,11:23:99 -17 41252693 . ATAAT A . . gnomad_exomes_an=3866;gnomad_exomes_hom=244;gnomad_exomes_het=618;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.442-800_442-797delATTA|p.?|555/7088|442/5592||-796|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-797delATTA|p.?|495/7028|301/5451||-796|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-797delATTA|p.?|549/3696|442/2100||-796|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-797delATTA|p.?|555/7151|442/5655||-796| GT:AD:DP:GQ /0/0:9,0:9:27 /0/0:14,0:14:42 /0/1:11,11:22:99 -17 41252695 . AAT A . . gnomad_exomes_an=5066;gnomad_exomes_hom=546;gnomad_exomes_het=795;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.442-800_442-799delAT|p.?|555/7088|442/5592||-798|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-799delAT|p.?|495/7028|301/5451||-798|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-799delAT|p.?|549/3696|442/2100||-798|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-799delAT|p.?|555/7151|442/5655||-798| GT:AD:DP:GQ /0/1:3,6:9:79 /0/0:14,0:14:42 /0/0:22,0:22:66 -17 41252696 . A T . . gnomad_exomes_an=4200;gnomad_exomes_hom=29;gnomad_exomes_het=334;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.442-799T>A|p.?|555/7088|442/5592||-798|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-799T>A|p.?|495/7028|301/5451||-798|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-799T>A|p.?|549/3696|442/2100||-798|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-799T>A|p.?|555/7151|442/5655||-798| GT:AD:DP:GQ /0/1:6,3:9:78 /0/1:10,4:14:98 /0/0:22,0:22:67 -17 41252697 . A AT . . ANN=AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.442-801_442-800insA|p.?|555/7088|442/5592||-800|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insA|p.?|495/7028|301/5451||-800|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insA|p.?|549/3696|442/2100||-800|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insA|p.?|555/7151|442/5655||-800| GT:AD:DP:GQ /1/1:0,45:45:99 1/0:16,17:33:99 1/0:22,11:33:99 -17 41252697 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.442-801_442-800insAA|p.?|555/7088|442/5592||-800|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insAA|p.?|495/7028|301/5451||-800|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insAA|p.?|549/3696|442/2100||-800|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insAA|p.?|555/7151|442/5655||-800| GT:AD:DP:GQ /0/0:45,0:45:99 /0/1:17,16:33:99 /0/1:12,21:33:99 -17 41254393 . G T . . gnomad_exomes_an=1936;gnomad_exomes_hom=0;gnomad_exomes_het=167;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.441+1746C>A|p.?|554/7088|441/5592||1745|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1746C>A|p.?|494/7028|300/5451||1745|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1746C>A|p.?|548/3696|441/2100||1745|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1746C>A|p.?|554/7151|441/5655||1745| GT:AD:DP:GQ /0/1:29,8:37:66 ./.:.:.:. /0/0:32,3:35:47 -17 41273700 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|2/22|c.80+2333_80+2334insT|p.?|193/7088|80/5592||2333|,CA|5_prime_UTR_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2333_-8+2334insT|p.?|187/7028|-8/5451||2333|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2333_80+2334insT|p.?|187/3696|80/2100||2333|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2333_80+2334insT|p.?|193/7151|80/5655||2333| GT:AD:DP:GQ /0/0:14,0:14:42 /0/0:6,1:7:10 /0/1:5,5:10:65 -MT 73 . A G . . . GT:AD:DP:GQ /0/0:3975,0:3975:99 /1/1:0,2871:2871:99 /1/1:0,3320:3320:99 -MT 119 . T C . . . GT:AD:DP:GQ /0/0:5417,1:5418:99 /1/1:0,4039:4039:99 /1/1:1,4112:4113:99 -MT 189 . A G . . . GT:AD:DP:GQ /0/0:3069,0:3069:99 /1/1:0,1721:1721:99 /1/1:0,2204:2204:99 -MT 195 . T C . . . GT:AD:DP:GQ /0/0:2599,0:2599:99 /1/1:0,1592:1592:99 /1/1:0,1815:1815:99 -MT 204 . T C . . . GT:AD:DP:GQ /0/0:2180,0:2180:99 /1/1:0,1424:1424:99 /1/1:0,1304:1304:99 -MT 207 . G A . . . GT:AD:DP:GQ /0/0:2115,0:2115:99 /1/1:0,1408:1408:99 /1/1:0,1277:1277:99 -MT 263 . A G . . . GT:AD:DP:GQ /1/1:0,1288:1288:99 /1/1:0,1204:1204:99 /1/1:0,1031:1031:99 -MT 302 . A ACC . . . GT:AD:DP:GQ /0/1:157,687:844:99 /0/0:1005,6:1011:99 /0/0:800,3:803:99 -MT 310 . T TC . . . GT:AD:DP:GQ /1/1:0,1035:1035:99 /1/1:0,1411:1411:99 /1/1:1,1090:1091:99 -MT 477 . T C . . . GT:AD:DP:GQ /1/1:4,2129:2133:99 /0/0:2266,1:2267:99 /0/0:1725,0:1725:99 -MT 709 . G A . . . GT:AD:DP:GQ /0/0:2494,0:2494:99 /1/1:0,2186:2186:99 /1/1:1,1813:1814:99 -MT 750 . A G . . . GT:AD:DP:GQ /1/1:0,2757:2757:99 /1/1:0,2392:2392:99 /1/1:0,1621:1621:99 -MT 879 . T C . . . GT:AD:DP:GQ /0/0:2853,0:2853:99 /0/0:2784,0:2784:99 /0/1:1351,547:1898:99 -MT 1243 . T C . . . GT:AD:DP:GQ /0/0:2674,1:2675:99 /1/1:0,2198:2198:99 /1/1:0,1655:1655:99 -MT 1438 . A G . . . GT:AD:DP:GQ /1/1:0,3815:3815:99 /1/1:0,3653:3653:99 /1/1:0,2900:2900:99 -MT 1824 . T C . . . GT:AD:DP:GQ /1/1:0,2668:2668:99 /0/0:2409,0:2409:99 /0/0:1752,0:1752:99 -MT 2633 . A G . . . GT:AD:DP:GQ /0/0:2535,0:2535:99 /0/1:1648,761:2409:99 /0/0:2269,0:2269:99 -MT 2706 . A G . . . GT:AD:DP:GQ /0/0:3200,0:3200:99 /1/1:0,2847:2847:99 /1/1:0,2020:2020:99 -MT 3010 . G A . . . GT:AD:DP:GQ /1/1:0,2841:2841:99 /0/0:2385,0:2385:99 /0/0:1685,0:1685:99 -MT 3505 . A G . . . GT:AD:DP:GQ /0/0:2580,14:2594:99 /1/1:0,2363:2363:99 /1/1:0,1664:1664:99 -MT 3784 . T C . . . GT:AD:DP:GQ /0/1:480,2456:2936:99 /0/0:2504,0:2504:99 /0/0:1991,0:1991:99 -MT 4769 . A G . . . GT:AD:DP:GQ /1/1:0,2689:2689:99 /1/1:0,2549:2549:99 /1/1:0,2108:2108:99 -MT 5046 . G A . . . GT:AD:DP:GQ /0/0:2876,2:2878:99 /1/1:0,2466:2466:99 /1/1:0,1661:1661:99 -MT 5460 . G A . . . GT:AD:DP:GQ /0/0:2905,2:2907:99 /1/1:0,2759:2759:99 /1/1:2,1968:1970:99 -MT 7028 . C T . . . GT:AD:DP:GQ /0/0:2577,3:2580:99 /1/1:2,2201:2203:99 /1/1:1,1945:1946:99 -MT 7864 . C T . . . GT:AD:DP:GQ /0/0:3588,1:3589:99 /1/1:0,3465:3465:99 /1/1:0,2746:2746:99 -MT 8170 . A G . . . GT:AD:DP:GQ /0/0:2051,1:2052:99 /1/1:0,2257:2257:99 /1/1:0,1774:1774:99 -MT 8251 . G A . . . GT:AD:DP:GQ /0/0:2360,0:2360:99 /1/1:0,2317:2317:99 /1/1:1,1624:1625:99 -MT 8860 . A G . . . GT:AD:DP:GQ /1/1:0,3278:3278:99 /1/1:0,3088:3088:99 /1/1:0,2241:2241:99 -MT 8994 . G A . . . GT:AD:DP:GQ /0/0:2793,0:2793:99 /1/1:0,2368:2368:99 /1/1:1,1917:1918:99 -MT 9007 . A G . . . GT:AD:DP:GQ /1/1:0,2959:2959:99 /0/0:2442,0:2442:99 /0/0:1735,0:1735:99 -MT 9150 . A G . . . GT:AD:DP:GQ /1/1:0,3163:3163:99 /0/0:3538,0:3538:99 /0/0:2767,0:2767:99 -MT 9380 . G A . . . GT:AD:DP:GQ /1/1:1,3320:3321:99 /0/0:3222,0:3222:99 /0/0:2547,0:2547:99 -MT 10097 . A G . . . GT:AD:DP:GQ /0/0:2660,0:2660:99 /0/1:1680,508:2188:99 /0/0:1851,0:1851:99 -MT 11204 . T C . . . GT:AD:DP:GQ /0/0:3168,5:3173:99 /1/1:0,2922:2922:99 /1/1:0,2418:2418:99 -MT 11674 . C T . . . GT:AD:DP:GQ /0/0:2890,0:2890:99 /1/1:0,2666:2666:99 /1/1:1,2179:2180:99 -MT 11719 . G A . . . GT:AD:DP:GQ /0/0:3339,2:3341:99 /1/1:0,3052:3052:99 /1/1:0,2203:2203:99 -MT 11947 . A G . . . GT:AD:DP:GQ /0/0:2579,2:2581:99 /1/1:0,2273:2273:99 /1/1:0,1804:1804:99 -MT 12414 . T C . . . GT:AD:DP:GQ /0/0:2852,3:2855:99 /1/1:1,2545:2546:99 /1/1:0,1733:1733:99 -MT 12648 . A G . . . GT:AD:DP:GQ /0/0:1812,1:1813:99 /1/1:2,1662:1664:99 /1/1:4,1777:1781:99 -MT 12705 . C T . . . GT:AD:DP:GQ /0/0:2359,10:2369:99 /1/1:1,2137:2138:99 /1/1:1,1621:1622:99 -MT 13406 . G A . . . GT:AD:DP:GQ /0/0:2539,1:2540:99 /0/0:2216,0:2216:99 /0/1:1224,733:1957:99 -MT 13611 . A G . . . GT:AD:DP:GQ /0/0:3838,2:3840:99 /1/1:0,3717:3717:99 /1/1:1,2834:2835:99 -MT 13928 . G C . . . GT:AD:DP:GQ /0/0:2947,0:2947:99 /1/1:0,2700:2700:99 /1/1:0,1880:1880:99 -MT 14148 . A G . . . GT:AD:DP:GQ /0/0:3019,2:3021:99 /1/1:0,2820:2820:99 /1/1:0,1962:1962:99 -MT 14766 . C T . . . GT:AD:DP:GQ /0/0:3318,3:3321:99 /1/1:2,3111:3113:99 /1/1:3,2355:2358:99 -MT 15326 . A G . . . GT:AD:DP:GQ /1/1:0,3716:3716:99 /1/1:0,3560:3560:99 /1/1:0,2690:2690:99 -MT 15884 . G C . . . GT:AD:DP:GQ /0/0:3595,1:3596:99 /1/1:0,3167:3167:99 /1/1:1,2733:2734:99 -MT 16184 . C T . . . GT:AD:DP:GQ /0/0:1406,1:1407:99 /1/1:0,1969:1969:99 /1/1:0,1478:1478:99 -MT 16223 . C T . . . GT:AD:DP:GQ /0/0:1405,1:1406:99 /1/1:0,2018:2018:99 /1/1:0,1472:1472:99 -MT 16263 . T C . . . GT:AD:DP:GQ /1/1:2,1476:1478:99 /0/0:1994,0:1994:99 /0/0:1475,0:1475:99 -MT 16292 . C T . . . GT:AD:DP:GQ /0/0:1652,0:1652:99 /1/1:1,1913:1914:99 /1/1:0,1476:1476:99 -MT 16519 . T C . . . GT:AD:DP:GQ /1/1:0,1759:1759:99 /1/1:0,4094:4094:99 /1/1:0,1744:1744:99 +17 41249263 . G A . . gnomad_exomes_an=31398;gnomad_exomes_hom=0;gnomad_exomes_het=56;gnomad_genomes_an=251304;gnomad_genomes_hom=0;gnomad_genomes_het=369;clinvar_vcv=VCV000055642.108;clinvar_germline_classification=Benign;ANN=A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|8/23|c.591C>T|p.Cys197=|704/7088|591/5592|197/1864|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|7/22|c.450C>T|p.Cys150=|644/7028|450/5451|150/1817|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|7/22|c.591C>T|p.Cys197=|610/3682|591/2280|197/760|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|8/22|c.591C>T|p.Cys197=|698/3696|591/2100|197/700|0|-1|,A|splice_region_variant&synonymous_variant|LOW|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|8/24|c.591C>T|p.Cys197=|704/7151|591/5655|197/1885|0|-1| GT:AD:DP:GQ 0/0:52,0:52:99 0/0:46,0:46:99 0/1:21,21:42:99 +17 41252332 . T C . . ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-435A>G|p.?|555/7088|442/5592||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-435A>G|p.?|495/7028|301/5451||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-435A>G|p.?|461/3682|442/2280||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-435A>G|p.?|549/3696|442/2100||435|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-435A>G|p.?|555/7151|442/5655||435|-1| GT:AD:DP:GQ 0/0:25,0:25:75 0/1:14,14:28:99 0/1:19,21:40:99 +17 41252691 . ATATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-795del|p.?|555/7088|442/5592||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-795del|p.?|495/7028|301/5451||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-795del|p.?|461/3682|442/2280||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-795del|p.?|549/3696|442/2100||795|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-795del|p.?|555/7151|442/5655||795|-1| GT:AD:DP:GQ 0/0:9,0:9:27 0/1:4,10:14:99 0/1:12,11:23:99 +17 41252693 . ATAAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-797del|p.?|555/7088|442/5592||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-797del|p.?|495/7028|301/5451||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-797del|p.?|461/3682|442/2280||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-797del|p.?|549/3696|442/2100||797|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-797del|p.?|555/7151|442/5655||797|-1| GT:AD:DP:GQ 0/0:9,0:9:27 0/0:14,0:14:42 0/1:11,11:22:99 +17 41252695 . AAT A . . ANN=A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-800_442-799del|p.?|555/7088|442/5592||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-800_301-799del|p.?|495/7028|301/5451||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-800_442-799del|p.?|461/3682|442/2280||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-800_442-799del|p.?|549/3696|442/2100||799|-1|,A|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-800_442-799del|p.?|555/7151|442/5655||799|-1| GT:AD:DP:GQ 0/1:3,6:9:79 0/0:14,0:14:42 0/0:22,0:22:66 +17 41252696 . A T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-799T>A|p.?|555/7088|442/5592||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-799T>A|p.?|495/7028|301/5451||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-799T>A|p.?|461/3682|442/2280||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-799T>A|p.?|549/3696|442/2100||799|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-799T>A|p.?|555/7151|442/5655||799|-1| GT:AD:DP:GQ 0/1:6,3:9:78 0/1:10,4:14:98 0/0:22,0:22:67 +17 41252697 . A AT . . ANN=AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insA|p.?|555/7088|442/5592||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insA|p.?|495/7028|301/5451||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insA|p.?|461/3682|442/2280||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insA|p.?|549/3696|442/2100||801|-1|,AT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insA|p.?|555/7151|442/5655||801|-1| GT:AD:DP:GQ 1/1:0,45:45:99 1/0:16,17:33:99 1/0:22,11:33:99 +17 41252697 . A ATT . . ANN=ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.442-801_442-800insAA|p.?|555/7088|442/5592||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.301-801_301-800insAA|p.?|495/7028|301/5451||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.442-801_442-800insAA|p.?|461/3682|442/2280||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.442-801_442-800insAA|p.?|549/3696|442/2100||801|-1|,ATT|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.442-801_442-800insAA|p.?|555/7151|442/5655||801|-1| GT:AD:DP:GQ 0/0:45,0:45:99 0/1:17,16:33:99 0/1:12,21:33:99 +17 41254393 . G T . . ANN=T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+1746C>A|p.?|554/7088|441/5592||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+1746C>A|p.?|494/7028|300/5451||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+1746C>A|p.?|460/3682|441/2280||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+1746C>A|p.?|548/3696|441/2100||-1746|-1|,T|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+1746C>A|p.?|554/7151|441/5655||-1746|-1| GT:AD:DP:GQ 0/1:29,8:37:66 ./.:.:.:. 0/0:32,3:35:47 +17 41273700 . C CA . . ANN=CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|2/22|c.80+2333_80+2334insT|p.?|193/7088|80/5592||-2334|-1|,CA|5_prime_UTR_intron_variant&intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|2/21|c.-8+2333_-8+2334insT|p.?|187/7028|-8/5451||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|1/21|c.80+2333_80+2334insT|p.?|99/3682|80/2280||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|2/21|c.80+2333_80+2334insT|p.?|187/3696|80/2100||-2334|-1|,CA|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|2/23|c.80+2333_80+2334insT|p.?|193/7151|80/5655||-2334|-1| GT:AD:DP:GQ 0/0:14,0:14:42 0/0:6,1:7:10 0/1:5,5:10:65 +MT 73 . A G . . clinvar_vcv=VCV003066071.1;clinvar_germline_classification=Affects GT:AD:DP:GQ 0/0:3975,0:3975:99 1/1:0,2871:2871:99 1/1:0,3320:3320:99 +MT 119 . T C . . . GT:AD:DP:GQ 0/0:5417,1:5418:99 1/1:0,4039:4039:99 1/1:1,4112:4113:99 +MT 189 . A G . . . GT:AD:DP:GQ 0/0:3069,0:3069:99 1/1:0,1721:1721:99 1/1:0,2204:2204:99 +MT 195 . T C . . . GT:AD:DP:GQ 0/0:2599,0:2599:99 1/1:0,1592:1592:99 1/1:0,1815:1815:99 +MT 204 . T C . . . GT:AD:DP:GQ 0/0:2180,0:2180:99 1/1:0,1424:1424:99 1/1:0,1304:1304:99 +MT 207 . G A . . . GT:AD:DP:GQ 0/0:2115,0:2115:99 1/1:0,1408:1408:99 1/1:0,1277:1277:99 +MT 263 . A G . . clinvar_vcv=VCV000441147.1;clinvar_germline_classification=not provided GT:AD:DP:GQ 1/1:0,1288:1288:99 1/1:0,1204:1204:99 1/1:0,1031:1031:99 +MT 302 . A ACC . . . GT:AD:DP:GQ 0/1:157,687:844:99 0/0:1005,6:1011:99 0/0:800,3:803:99 +MT 310 . T TC . . . GT:AD:DP:GQ 1/1:0,1035:1035:99 1/1:0,1411:1411:99 1/1:1,1090:1091:99 +MT 477 . T C . . . GT:AD:DP:GQ 1/1:4,2129:2133:99 0/0:2266,1:2267:99 0/0:1725,0:1725:99 +MT 709 . G A . . . GT:AD:DP:GQ 0/0:2494,0:2494:99 1/1:0,2186:2186:99 1/1:1,1813:1814:99 +MT 750 . A G . . clinvar_vcv=VCV000441148.2;clinvar_germline_classification=association not found GT:AD:DP:GQ 1/1:0,2757:2757:99 1/1:0,2392:2392:99 1/1:0,1621:1621:99 +MT 879 . T C . . . GT:AD:DP:GQ 0/0:2853,0:2853:99 0/0:2784,0:2784:99 0/1:1351,547:1898:99 +MT 1243 . T C . . clinvar_vcv=VCV000042212.5;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:2674,1:2675:99 1/1:0,2198:2198:99 1/1:0,1655:1655:99 +MT 1438 . A G . . clinvar_vcv=VCV000042220.4;clinvar_germline_classification=Benign GT:AD:DP:GQ 1/1:0,3815:3815:99 1/1:0,3653:3653:99 1/1:0,2900:2900:99 +MT 1824 . T C . . . GT:AD:DP:GQ 1/1:0,2668:2668:99 0/0:2409,0:2409:99 0/0:1752,0:1752:99 +MT 2633 . A G . . . GT:AD:DP:GQ 0/0:2535,0:2535:99 0/1:1648,761:2409:99 0/0:2269,0:2269:99 +MT 2706 . A G . . . GT:AD:DP:GQ 0/0:3200,0:3200:99 1/1:0,2847:2847:99 1/1:0,2020:2020:99 +MT 3010 . G A . . clinvar_vcv=VCV000441149.1;clinvar_germline_classification=not provided GT:AD:DP:GQ 1/1:0,2841:2841:99 0/0:2385,0:2385:99 0/0:1685,0:1685:99 +MT 3505 . A G . . clinvar_vcv=VCV000252456.4;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:2580,14:2594:99 1/1:0,2363:2363:99 1/1:0,1664:1664:99 +MT 3784 . T C . . . GT:AD:DP:GQ 0/1:480,2456:2936:99 0/0:2504,0:2504:99 0/0:1991,0:1991:99 +MT 4769 . A G . . clinvar_vcv=VCV000441150.2;clinvar_germline_classification=Benign GT:AD:DP:GQ 1/1:0,2689:2689:99 1/1:0,2549:2549:99 1/1:0,2108:2108:99 +MT 5046 . G A . . clinvar_vcv=VCV000692536.1;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:2876,2:2878:99 1/1:0,2466:2466:99 1/1:0,1661:1661:99 +MT 5460 . G A . . clinvar_vcv=VCV000692591.1;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:2905,2:2907:99 1/1:0,2759:2759:99 1/1:2,1968:1970:99 +MT 7028 . C T . . clinvar_vcv=VCV001676315.1;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:2577,3:2580:99 1/1:2,2201:2203:99 1/1:1,1945:1946:99 +MT 7864 . C T . . . GT:AD:DP:GQ 0/0:3588,1:3589:99 1/1:0,3465:3465:99 1/1:0,2746:2746:99 +MT 8170 . A G . . . GT:AD:DP:GQ 0/0:2051,1:2052:99 1/1:0,2257:2257:99 1/1:0,1774:1774:99 +MT 8251 . G A . . . GT:AD:DP:GQ 0/0:2360,0:2360:99 1/1:0,2317:2317:99 1/1:1,1624:1625:99 +MT 8860 . A G . . clinvar_vcv=VCV000693004.1;clinvar_germline_classification=Benign GT:AD:DP:GQ 1/1:0,3278:3278:99 1/1:0,3088:3088:99 1/1:0,2241:2241:99 +MT 8994 . G A . . . GT:AD:DP:GQ 0/0:2793,0:2793:99 1/1:0,2368:2368:99 1/1:1,1917:1918:99 +MT 9007 . A G . . clinvar_vcv=VCV000693051.1;clinvar_germline_classification=Benign GT:AD:DP:GQ 1/1:0,2959:2959:99 0/0:2442,0:2442:99 0/0:1735,0:1735:99 +MT 9150 . A G . . . GT:AD:DP:GQ 1/1:0,3163:3163:99 0/0:3538,0:3538:99 0/0:2767,0:2767:99 +MT 9380 . G A . . . GT:AD:DP:GQ 1/1:1,3320:3321:99 0/0:3222,0:3222:99 0/0:2547,0:2547:99 +MT 10097 . A G . . . GT:AD:DP:GQ 0/0:2660,0:2660:99 0/1:1680,508:2188:99 0/0:1851,0:1851:99 +MT 11204 . T C . . clinvar_vcv=VCV000693352.1;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:3168,5:3173:99 1/1:0,2922:2922:99 1/1:0,2418:2418:99 +MT 11674 . C T . . . GT:AD:DP:GQ 0/0:2890,0:2890:99 1/1:0,2666:2666:99 1/1:1,2179:2180:99 +MT 11719 . G A . . clinvar_vcv=VCV003027424.1;clinvar_germline_classification=association GT:AD:DP:GQ 0/0:3339,2:3341:99 1/1:0,3052:3052:99 1/1:0,2203:2203:99 +MT 11947 . A G . . . GT:AD:DP:GQ 0/0:2579,2:2581:99 1/1:0,2273:2273:99 1/1:0,1804:1804:99 +MT 12414 . T C . . . GT:AD:DP:GQ 0/0:2852,3:2855:99 1/1:1,2545:2546:99 1/1:0,1733:1733:99 +MT 12648 . A G . . . GT:AD:DP:GQ 0/0:1812,1:1813:99 1/1:2,1662:1664:99 1/1:4,1777:1781:99 +MT 12705 . C T . . . GT:AD:DP:GQ 0/0:2359,10:2369:99 1/1:1,2137:2138:99 1/1:1,1621:1622:99 +MT 13406 . G A . . clinvar_vcv=VCV000693552.1;clinvar_germline_classification=Uncertain significance GT:AD:DP:GQ 0/0:2539,1:2540:99 0/0:2216,0:2216:99 0/1:1224,733:1957:99 +MT 13611 . A G . . . GT:AD:DP:GQ 0/0:3838,2:3840:99 1/1:0,3717:3717:99 1/1:1,2834:2835:99 +MT 13928 . G C . . clinvar_vcv=VCV000693635.1;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:2947,0:2947:99 1/1:0,2700:2700:99 1/1:0,1880:1880:99 +MT 14148 . A G . . clinvar_vcv=VCV000235351.2;clinvar_germline_classification=Likely benign GT:AD:DP:GQ 0/0:3019,2:3021:99 1/1:0,2820:2820:99 1/1:0,1962:1962:99 +MT 14766 . C T . . clinvar_vcv=VCV000140587.4;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:3318,3:3321:99 1/1:2,3111:3113:99 1/1:3,2355:2358:99 +MT 15326 . A G . . clinvar_vcv=VCV000140592.4;clinvar_germline_classification=Benign GT:AD:DP:GQ 1/1:0,3716:3716:99 1/1:0,3560:3560:99 1/1:0,2690:2690:99 +MT 15884 . G C . . clinvar_vcv=VCV000252455.3;clinvar_germline_classification=Benign GT:AD:DP:GQ 0/0:3595,1:3596:99 1/1:0,3167:3167:99 1/1:1,2733:2734:99 +MT 16184 . C T . . . GT:AD:DP:GQ 0/0:1406,1:1407:99 1/1:0,1969:1969:99 1/1:0,1478:1478:99 +MT 16223 . C T . . clinvar_vcv=VCV003027423.1;clinvar_germline_classification=association not found GT:AD:DP:GQ 0/0:1405,1:1406:99 1/1:0,2018:2018:99 1/1:0,1472:1472:99 +MT 16263 . T C . . . GT:AD:DP:GQ 1/1:2,1476:1478:99 0/0:1994,0:1994:99 0/0:1475,0:1475:99 +MT 16292 . C T . . . GT:AD:DP:GQ 0/0:1652,0:1652:99 1/1:1,1913:1914:99 1/1:0,1476:1476:99 +MT 16519 . T C . . . GT:AD:DP:GQ 1/1:0,1759:1759:99 1/1:0,4094:4094:99 1/1:0,1744:1744:99 diff --git a/tests/seqvars/query/dragen.ingested.vcf b/tests/seqvars/query/dragen.ingested.vcf index edf56dd5..34f9fae7 100644 --- a/tests/seqvars/query/dragen.ingested.vcf +++ b/tests/seqvars/query/dragen.ingested.vcf @@ -7,10 +7,14 @@ ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= +##INFO= +##INFO= ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##FILTER= ##FORMAT= ##FORMAT= @@ -47,7 +51,7 @@ ##PEDIGREE= ##x-varfish-case-uuid=00000000-0000-0000-0000-000000000000 ##x-varfish-version= -##x-varfish-version= +##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT CASE -17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding|6/22|c.441+64delT|p.?|554/7088|441/5592||63|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64delT|p.?|494/7028|300/5451||63|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64delT|p.?|548/3696|441/2100||63|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64delT|p.?|554/7151|441/5655||63| GT:AD:DP:GQ:PS 1|1:0,80:80:99:41256074 -MT 750 . A G . . . GT:AD:DP:GQ /1/1:0,35:35:99 +17 41256074 . CA C . . gnomad_exomes_an=20150;gnomad_exomes_hom=2725;gnomad_exomes_het=5476;gnomad_genomes_an=0;gnomad_genomes_hom=0;gnomad_genomes_het=0;ANN=C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007294.4|Coding&ManeSelect|6/22|c.441+64del|p.?|554/7088|441/5592||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007297.4|Coding|5/21|c.300+64del|p.?|494/7028|300/5451||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007298.3|Coding|5/21|c.441+64del|p.?|460/3682|441/2280||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007299.4|Coding|6/21|c.441+64del|p.?|548/3696|441/2100||-64|-1|,C|intron_variant|MODIFIER|BRCA1|HGNC:1100|transcript|NM_007300.4|Coding|6/23|c.441+64del|p.?|554/7151|441/5655||-64|-1| GT:AD:DP:GQ:PS 0|1:18,14:32:47:41256074 +MT 750 . A G . . clinvar_vcv=VCV000441148.2;clinvar_germline_classification=association not found GT:GQ:AD:DP 1/1:98:1,5607:5608 From 73447ca4241f64db63fd51112dcf724e0dde9316 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Mon, 5 Aug 2024 10:48:34 +0200 Subject: [PATCH 21/23] wip --- src/seqvars/query/schema/query.rs | 23 ++-- tests/seqvars/query/Case_1.query.json.bak | 121 ---------------------- utils/install-protoc.sh | 24 ++--- utils/terraform/.gitignore | 2 - utils/terraform/main.tf | 26 ----- utils/terraform/provider.tf | 9 -- 6 files changed, 20 insertions(+), 185 deletions(-) delete mode 100644 tests/seqvars/query/Case_1.query.json.bak delete mode 100644 utils/terraform/.gitignore delete mode 100644 utils/terraform/main.tf delete mode 100644 utils/terraform/provider.tf diff --git a/src/seqvars/query/schema/query.rs b/src/seqvars/query/schema/query.rs index 0cbdcbfc..50b65b72 100644 --- a/src/seqvars/query/schema/query.rs +++ b/src/seqvars/query/schema/query.rs @@ -1388,17 +1388,18 @@ mod tests { use super::GenotypeChoice::{self, *}; #[rstest::rstest] - #[case(Any, &["0", "0/0", "0|0", "1", "1/1", "1|1", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], true)] - #[case(Ref, &["0", "0/0", "0|0"], true)] - #[case(Ref, &[ "1", "1/1", "1|1", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] - #[case(Het, &["0/1", "0|1", "1/0", "1|0"], true)] - #[case(Het, &["0", "0/0", "0|0", "1", "1/1", "1|1", ".", "./.", ".|."], false)] - #[case(Hom, &["1", "1/1", "1|1"], true)] - #[case(Hom, &["0", "0/0", "0|0", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] - #[case(NonHom, &["1", "1/1", "1|1"], false)] - #[case(NonHom, &["0", "0/0", "0|0", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], true)] - #[case(Variant, &["1", "1/1", "1|1", "0/1", "0|1", "1/0", "1|0"], true)] - #[case(Variant, &["0", "0/0", "0|0", ".", "./.", ".|."], false)] + #[case::any_pass(Any, &["0", "0/0", "0|0", "1", "1/1", "1|1", "0/1", "0|1", "1/0", "1|0"], true)] + #[case::any_fail(Any, &["0/.", ".", "./.", ".|."], false)] + #[case::ref_pass(Ref, &["0", "0/0", "0|0"], true)] + #[case::ref_fail(Ref, &[ "1", "1/1", "1|1", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] + #[case::het_pass(Het, &["0/1", "0|1", "1/0", "1|0"], true)] + #[case::het_fail(Het, &["0", "0/0", "0|0", "1", "1/1", "1|1", ".", "./.", ".|."], false)] + #[case::hom_pass(Hom, &["1", "1/1", "1|1"], true)] + #[case::hom_fail(Hom, &["0", "0/0", "0|0", "0/1", "0/.", "0|1", "1/0", "1|0", ".", "./.", ".|."], false)] + #[case::nonhom_pass(NonHom, &["0", "0/0", "0|0", "0/1", "0|1", "1/0", "1|0"], true)] + #[case::nonhom_fail(NonHom, &["1", "1/1", "1|1", "0/.", ".", "./.", ".|."], false)] + #[case::variant_pass(Variant, &["1", "1/1", "1|1", "0/1", "0|1", "1/0", "1|0"], true)] + #[case::variant_fail(Variant, &["0", "0/0", "0|0", ".", "./.", ".|."], false)] pub fn matches( #[case] genotype_choice: GenotypeChoice, #[case] gt_strs: &[&str], diff --git a/tests/seqvars/query/Case_1.query.json.bak b/tests/seqvars/query/Case_1.query.json.bak deleted file mode 100644 index dc2a12a1..00000000 --- a/tests/seqvars/query/Case_1.query.json.bak +++ /dev/null @@ -1,121 +0,0 @@ -{ - "effects": [ - "chromosome_number_variation", - "exon_loss_variant", - "frameshift_variant", - "rare_amino_acid_variant", - "splice_acceptor_variant", - "splice_donor_variant", - "start_lost", - "stop_gained", - "stop_lost", - "transcript_ablation", - "3_prime_UTR_truncation", - "5_prime_UTR_truncation", - "conservative_inframe_deletion", - "conservative_inframe_insertion", - "disruptive_inframe_deletion", - "disruptive_inframe_insertion", - "missense_variant", - "regulatory_region_ablation", - "splice_region_variant", - "TFBS_ablation", - "5_prime_UTR_premature_start_codon_gain_variant", - "initiator_codon_variant", - "start_retained", - "stop_retained_variant", - "synonymous_variant", - "3_prime_UTR_variant", - "5_prime_UTR_variant", - "coding_sequence_variant", - "conserved_intergenic_variant", - "conserved_intron_variant", - "downstream_gene_variant", - "exon_variant", - "feature_elongation", - "feature_truncation", - "gene_variant", - "intergenic_variant", - "intron_variant", - "mature_miRNA_variant", - "miRNA", - "NMD_transcript_variant", - "non_coding_transcript_exon_variant", - "non_coding_transcript_intron_variant", - "regulatory_region_amplification", - "regulatory_region_variant", - "TF_binding_site_variant", - "TFBS_amplification", - "transcript_amplification", - "transcript_variant", - "upstream_gene_variant" - ], - "gnomad_exomes_enabled": false, - "gnomad_genomes_enabled": false, - "inhouse_enabled": false, - "helixmtdb_enabled": false, - "quality": { - "Case_1_index-N1-DNA1-WGS1": { - "dp_het": 10, - "dp_hom": 5, - "gq": 10, - "ab": 0.2, - "ad": 3, - "ad_max": null, - "filter_active": "drop-variant" - }, - "Case_1_father-N1-DNA1-WGS1": { - "dp_het": 10, - "dp_hom": 5, - "gq": 10, - "ab": 0.2, - "ad": 3, - "ad_max": null, - "filter_active": "drop-variant" - }, - "Case_1_mother-N1-DNA1-WGS1": { - "dp_het": 10, - "dp_hom": 5, - "gq": 10, - "ab": 0.2, - "ad": 3, - "ad_max": null, - "filter_active": "drop-variant" - } - }, - "genotype": { - "Case_1_index-N1-DNA1-WGS1": "variant", - "Case_1_father-N1-DNA1-WGS1": "ref", - "Case_1_mother-N1-DNA1-WGS1": "ref" - }, - "selected_variants": null, - "transcripts_coding": true, - "transcripts_noncoding": true, - "var_type_snv": true, - "var_type_indel": true, - "var_type_mnv": true, - "max_exon_dist": 100, - "gene_allowlist": [], - "genomic_regions": null, - "require_in_clinvar": false, - "clinvar_include_benign": false, - "clinvar_include_pathogenic": true, - "clinvar_include_likely_benign": false, - "clinvar_include_likely_pathogenic": true, - "clinvar_include_uncertain_significance": false, - "gnomad_exomes_frequency": 0.002, - "gnomad_exomes_heterozygous": 20, - "gnomad_exomes_homozygous": 0, - "gnomad_exomes_hemizygous": null, - "gnomad_genomes_frequency": 0.002, - "gnomad_genomes_heterozygous": 4, - "gnomad_genomes_homozygous": 0, - "gnomad_genomes_hemizygous": null, - "inhouse_carriers": 20, - "inhouse_heterozygous": null, - "inhouse_homozygous": null, - "inhouse_hemizygous": null, - "helixmtdb_frequency": 0.01, - "helixmtdb_heterozygous": null, - "helixmtdb_homozygous": null -} diff --git a/utils/install-protoc.sh b/utils/install-protoc.sh index ed51c739..51d093fd 100644 --- a/utils/install-protoc.sh +++ b/utils/install-protoc.sh @@ -2,25 +2,17 @@ # Will install into ~/.local/share/protoc, so make sure to add the following # to your PATH: ~/.local/share/protoc/bin -# -# Will go into ./utils/var for cloning/building. set -x set -euo pipefail -CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX-$HOME/.local/share/protoc} +RELEASE=${RELEASE-27.2} +ARCH=${ARCH-linux-x86_64} +PREFIX=${PREFIX-$HOME/.local/share/protoc} -mkdir -p utils/var -cd utils/var +wget -O /tmp/protoc-${RELEASE}-${ARCH}.zip \ + https://github.com/protocolbuffers/protobuf/releases/download/v${RELEASE}/protoc-${RELEASE}-${ARCH}.zip -apt-get update -apt-get install -y git cmake build-essential - -if [[ ! -e protobuf ]]; then - git clone https://github.com/protocolbuffers/protobuf.git -fi -cd protobuf -git submodule update --init --recursive - -cmake . -DCMAKE_INSTALL_PREFIX=$CMAKE_INSTALL_PREFIX -make -j 8 install +mkdir -p $PREFIX +cd $PREFIX +unzip /tmp/protoc-${RELEASE}-${ARCH}.zip diff --git a/utils/terraform/.gitignore b/utils/terraform/.gitignore deleted file mode 100644 index 5dfe3103..00000000 --- a/utils/terraform/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.terraform* -terraform.tfstate* diff --git a/utils/terraform/main.tf b/utils/terraform/main.tf deleted file mode 100644 index 4b5ea687..00000000 --- a/utils/terraform/main.tf +++ /dev/null @@ -1,26 +0,0 @@ -# Mangement of the GitHub project. - -resource "github_repository" "varfish-server-worker" { - name = "varfish-server-worker" - description = "Rust-based background worker for varfish-server" - visibility = "public" - - has_issues = true - has_wiki = true - has_downloads = true - has_discussions = false - has_projects = false - - allow_auto_merge = true - allow_rebase_merge = false - allow_merge_commit = false - - delete_branch_on_merge = true - - vulnerability_alerts = true - - squash_merge_commit_message = "BLANK" - squash_merge_commit_title = "PR_TITLE" - merge_commit_message = "PR_BODY" - merge_commit_title = "PR_TITLE" -} diff --git a/utils/terraform/provider.tf b/utils/terraform/provider.tf deleted file mode 100644 index 2dc05b13..00000000 --- a/utils/terraform/provider.tf +++ /dev/null @@ -1,9 +0,0 @@ -terraform { - required_providers { - github = { - source = "integrations/github" - } - } -} - -provider "github" {} From d313526d4fad5e97ab07e4a234b688e0b83b2638 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Mon, 5 Aug 2024 12:22:01 +0200 Subject: [PATCH 22/23] wip --- ...ker__common__noodles__test__build_tbi.snap | 16 -- ...oodles__test__result_snapshot_test_gz.snap | 16 -- ...ommon__test__build_chrom_map_snapshot.snap | 1 - ...rs__aggregate__test__extract_pedigree.snap | 36 --- ...te__test__extract_pedigree_snapshot-2.snap | 5 - ...gate__test__extract_pedigree_snapshot.snap | 36 --- ...header__test__build_output_header_ped.snap | 58 ----- ...@example_dragen.07.021.624.3.10.4.vcf.snap | 1 - ...@example_dragen.07.021.624.3.10.9.vcf.snap | 1 - ...aller_guess@example_gatk_hc.3.7-0.vcf.snap | 1 - ...ler_guess@example_gatk_hc.4.4.0.0.vcf.snap | 1 - src/seqvars/query/mod.rs | 221 ++++++++++++------ src/seqvars/query/schema/query.rs | 78 ++----- ...ry__tests__smoke_test_load@empty.json.snap | 50 ++++ ...ommon__test__build_chrom_map_snapshot.snap | 65 ------ ...on__test__extract_pedigree_snapshot-2.snap | 5 - ...mmon__test__extract_pedigree_snapshot.snap | 36 --- ...ommon__test__open_read_maybe_gz@false.snap | 6 - ...common__test__open_read_maybe_gz@true.snap | 6 - ...mmon__test__open_write_maybe_gz@false.snap | 5 - ...ommon__test__open_write_maybe_gz@true.snap | 5 - ...rver_worker__common__test__read_lines.snap | 8 - ...regate__cli__tests__run_smoke_at_path.snap | 1 - ...egate__cli__tests__run_smoke_gts_path.snap | 1 - ...gate__cli__tests__run_smoke_gts_twice.snap | 1 - ...build_output_header_37@delly2-min.vcf.snap | 1 - ...d_output_header_37@dragen-cnv-min.vcf.snap | 1 - ...ld_output_header_37@dragen-sv-min.vcf.snap | 1 - ...__build_output_header_37@gcnv-min.vcf.snap | 1 - ..._build_output_header_37@manta-min.vcf.snap | 1 - ...__build_output_header_37@melt-min.vcf.snap | 1 - ...build_output_header_37@popdel-min.vcf.snap | 1 - ...build_output_header_38@delly2-min.vcf.snap | 1 - ...d_output_header_38@dragen-cnv-min.vcf.snap | 1 - ...ld_output_header_38@dragen-sv-min.vcf.snap | 1 - ...__build_output_header_38@gcnv-min.vcf.snap | 1 - ..._build_output_header_38@manta-min.vcf.snap | 1 - ...__build_output_header_38@melt-min.vcf.snap | 1 - ...build_output_header_38@popdel-min.vcf.snap | 1 - ...ucvars__ingest__test__smoke_test_trio.snap | 1 - ..._masked__test__load_masked_db_records.snap | 1 - ...masked__test__masked_db_fetch_records.snap | 1 - ..._masked__test__load_masked_db_records.snap | 113 --------- ...masked__test__masked_db_fetch_records.snap | 13 -- ..._schema__tests__call_info_serde_smoke.snap | 18 -- ...schema__tests__case_query_serde_smoke.snap | 77 ------ ..._tests__genotype_criteria_serde_smoke.snap | 51 ---- ...tests__structural_variant_serde_smoke.snap | 14 -- tests/seqvars/query/empty-pb.json | 54 +---- tests/seqvars/query/empty.json | 60 ++++- 50 files changed, 275 insertions(+), 802 deletions(-) delete mode 100644 src/common/snapshots/varfish_server_worker__common__noodles__test__build_tbi.snap delete mode 100644 src/common/snapshots/varfish_server_worker__common__noodles__test__result_snapshot_test_gz.snap delete mode 100644 src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree.snap delete mode 100644 src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot-2.snap delete mode 100644 src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot.snap delete mode 100644 src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_ped.snap create mode 100644 src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__query__tests__smoke_test_load@empty.json.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot-2.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@false.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@true.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@false.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@true.snap delete mode 100644 src/snapshots/varfish_server_worker__common__test__read_lines.snap delete mode 100644 src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__load_masked_db_records.snap delete mode 100644 src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__masked_db_fetch_records.snap delete mode 100644 src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__call_info_serde_smoke.snap delete mode 100644 src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__case_query_serde_smoke.snap delete mode 100644 src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__genotype_criteria_serde_smoke.snap delete mode 100644 src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__structural_variant_serde_smoke.snap diff --git a/src/common/snapshots/varfish_server_worker__common__noodles__test__build_tbi.snap b/src/common/snapshots/varfish_server_worker__common__noodles__test__build_tbi.snap deleted file mode 100644 index 2f35ea6d..00000000 --- a/src/common/snapshots/varfish_server_worker__common__noodles__test__build_tbi.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: src/common/noodles.rs -expression: "String::from_utf8_lossy(&buffer)" ---- -0000: 1F 8B 08 04 00 00 00 00 00 FF 06 00 42 43 02 00 ............BC.. -0016: B8 00 ED DC BF 09 C2 40 14 07 E0 17 11 D1 D6 5A .......@.......Z -0032: 8C 20 D8 6B 63 61 21 D8 45 10 9B D4 6E E0 08 2E ...kca!.E...n... -0048: E1 06 2E E0 3C 8E 63 C2 DD 15 C9 0C DF 07 97 97 ....<.c......... -0064: 7B F7 6F 83 5F 7B 69 AA 49 44 F4 A3 CA B5 B7 CD {.o._{i.ID...... -0080: 75 D6 8D FD 31 6E 6D 4C BB BF CD 2A ED FA 3C D3 u...1nmL...*..<. -0096: EA FC 95 EA 3A F7 CF 75 9A 3F 4E A9 D6 B9 5F E6 ....:..u.?N..._. -0112: E5 DC F5 9D 5E 2A FB CB 3D F7 18 FA 2D 02 00 00 ....^*..=...-... -0128: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ -0144: 00 06 C6 D9 77 25 EB AE CF B9 6B 96 29 07 AF E4 ....w%....k.)... -0160: DC 45 7C 77 FD B7 E4 E0 8D FB 87 D1 DD C3 B3 C9 .E|w............ -0176: 1F 96 E4 1B E0 BA 4F 00 00 ......O.. diff --git a/src/common/snapshots/varfish_server_worker__common__noodles__test__result_snapshot_test_gz.snap b/src/common/snapshots/varfish_server_worker__common__noodles__test__result_snapshot_test_gz.snap deleted file mode 100644 index 2f35ea6d..00000000 --- a/src/common/snapshots/varfish_server_worker__common__noodles__test__result_snapshot_test_gz.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: src/common/noodles.rs -expression: "String::from_utf8_lossy(&buffer)" ---- -0000: 1F 8B 08 04 00 00 00 00 00 FF 06 00 42 43 02 00 ............BC.. -0016: B8 00 ED DC BF 09 C2 40 14 07 E0 17 11 D1 D6 5A .......@.......Z -0032: 8C 20 D8 6B 63 61 21 D8 45 10 9B D4 6E E0 08 2E ...kca!.E...n... -0048: E1 06 2E E0 3C 8E 63 C2 DD 15 C9 0C DF 07 97 97 ....<.c......... -0064: 7B F7 6F 83 5F 7B 69 AA 49 44 F4 A3 CA B5 B7 CD {.o._{i.ID...... -0080: 75 D6 8D FD 31 6E 6D 4C BB BF CD 2A ED FA 3C D3 u...1nmL...*..<. -0096: EA FC 95 EA 3A F7 CF 75 9A 3F 4E A9 D6 B9 5F E6 ....:..u.?N..._. -0112: E5 DC F5 9D 5E 2A FB CB 3D F7 18 FA 2D 02 00 00 ....^*..=...-... -0128: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ -0144: 00 06 C6 D9 77 25 EB AE CF B9 6B 96 29 07 AF E4 ....w%....k.)... -0160: DC 45 7C 77 FD B7 E4 E0 8D FB 87 D1 DD C3 B3 C9 .E|w............ -0176: 1F 96 E4 1B E0 BA 4F 00 00 ......O.. diff --git a/src/common/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap b/src/common/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap index c3fa6ddc..6d7f6781 100644 --- a/src/common/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap +++ b/src/common/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap @@ -62,4 +62,3 @@ chrmt: 24 chrm: 24 MT: 24 chrMT: 24 - diff --git a/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree.snap b/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree.snap deleted file mode 100644 index 7c2b3f64..00000000 --- a/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree.snap +++ /dev/null @@ -1,36 +0,0 @@ ---- -source: src/seqvars/aggregate/mod.rs -expression: pedigree ---- -PedigreeByName { - individuals: { - "Case_1_father-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_father-N1-DNA1-WGS1", - father: None, - mother: None, - sex: Male, - disease: Unaffected, - }, - "Case_1_index-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_index-N1-DNA1-WGS1", - father: Some( - "Case_1_father-N1-DNA1-WGS1", - ), - mother: Some( - "Case_1_mother-N1-DNA1-WGS1", - ), - sex: Female, - disease: Affected, - }, - "Case_1_mother-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_mother-N1-DNA1-WGS1", - father: None, - mother: None, - sex: Male, - disease: Unaffected, - }, - }, -} diff --git a/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot-2.snap b/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot-2.snap deleted file mode 100644 index 0cbb21bb..00000000 --- a/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot-2.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/seqvars/aggregate/mod.rs -expression: case_uuid ---- -00000000-0000-0000-0000-000000000000 diff --git a/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot.snap b/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot.snap deleted file mode 100644 index 7c2b3f64..00000000 --- a/src/seqvars/aggregate/snapshots/varfish_server_worker__seqvars__aggregate__test__extract_pedigree_snapshot.snap +++ /dev/null @@ -1,36 +0,0 @@ ---- -source: src/seqvars/aggregate/mod.rs -expression: pedigree ---- -PedigreeByName { - individuals: { - "Case_1_father-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_father-N1-DNA1-WGS1", - father: None, - mother: None, - sex: Male, - disease: Unaffected, - }, - "Case_1_index-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_index-N1-DNA1-WGS1", - father: Some( - "Case_1_father-N1-DNA1-WGS1", - ), - mother: Some( - "Case_1_mother-N1-DNA1-WGS1", - ), - sex: Female, - disease: Affected, - }, - "Case_1_mother-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_mother-N1-DNA1-WGS1", - father: None, - mother: None, - sex: Male, - disease: Unaffected, - }, - }, -} diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_ped.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_ped.snap deleted file mode 100644 index 996f16d5..00000000 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__build_output_header_ped.snap +++ /dev/null @@ -1,58 +0,0 @@ ---- -source: src/seqvars/ingest/header.rs -expression: "std::fs::read_to_string(out_path_str)?" ---- -##fileformat=VCFv4.4 -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##INFO= -##FILTER= -##FORMAT= -##FORMAT= -##FORMAT= -##FORMAT= -##FORMAT= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##contig= -##SAMPLE= -##SAMPLE= -##SAMPLE= -##PEDIGREE= -##PEDIGREE= -##PEDIGREE= -##x-varfish-version= -##x-varfish-version= -#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Case_1_father-N1-DNA1-WGS1 Case_1_index-N1-DNA1-WGS1 Case_1_mother-N1-DNA1-WGS1 - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.4.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.4.vcf.snap index 0df41bd3..b51ed352 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.4.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.4.vcf.snap @@ -4,4 +4,3 @@ expression: "VariantCaller::guess(&vcf_header)" --- Dragen: version: "SW: 07.021.624.3.10.4, HW: 07.021.624" - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.9.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.9.vcf.snap index 5089a957..cae5e57f 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.9.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_dragen.07.021.624.3.10.9.vcf.snap @@ -4,4 +4,3 @@ expression: "VariantCaller::guess(&vcf_header)" --- Dragen: version: "SW: 07.021.624.3.10.9, HW: 07.021.624" - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.3.7-0.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.3.7-0.vcf.snap index d6f9fb36..1149acb0 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.3.7-0.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.3.7-0.vcf.snap @@ -4,4 +4,3 @@ expression: "VariantCaller::guess(&vcf_header)" --- GatkHaplotypeCaller: version: 3.7-0-gcfedb67 - diff --git a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.4.4.0.0.vcf.snap b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.4.4.0.0.vcf.snap index aeddbb48..06750e63 100644 --- a/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.4.4.0.0.vcf.snap +++ b/src/seqvars/ingest/snapshots/varfish_server_worker__seqvars__ingest__header__test__variant_caller_guess@example_gatk_hc.4.4.0.0.vcf.snap @@ -4,4 +4,3 @@ expression: "VariantCaller::guess(&vcf_header)" --- GatkHaplotypeCaller: version: 4.4.0.0 - diff --git a/src/seqvars/query/mod.rs b/src/seqvars/query/mod.rs index 7430416d..256ee060 100644 --- a/src/seqvars/query/mod.rs +++ b/src/seqvars/query/mod.rs @@ -6,6 +6,7 @@ pub mod output; pub mod schema; pub mod sorting; +use std::collections::BTreeSet; use std::io::{BufRead, Write}; use std::time::Instant; @@ -75,17 +76,9 @@ struct QueryStats { } /// Checks whether the variants pass through the query interpreter. -/// -/// This function is only relevant if the query uses comp. het. or "any" recessive mode. -/// -/// The case of homozygous recessive mode is assumed to be handled outside. This function -/// only gets passed variants that are het. in the index. fn passes_for_gene(query: &CaseQuery, seqvars: &Vec) -> Result { - // Short-circuit in case of disabled or homozygous-only recessive mode. - if matches!( - query.genotype.recessive_mode, - RecessiveMode::Disabled | RecessiveMode::Homozygous - ) { + // Short-circuit in case of disabled recessive mode. + if query.genotype.recessive_mode == RecessiveMode::Disabled { return Ok(true); } @@ -110,7 +103,14 @@ fn passes_for_gene(query: &CaseQuery, seqvars: &Vec) -> Result) -> Result) -> Result>(); - + let ref_parents = parents + .iter() + .zip(parent_gts.iter()) + .filter(|(_, gt)| **gt == common::Genotype::HomRef) + .map(|(name, _)| name.clone()) + .collect::>(); + tracing::debug!( + "seqvar = {:?}, homalt_parents = {:?}, het_parents = {:?}, ref_parents = {:?}", + &seqvar, + &homalt_parents, + &het_parents, + &ref_parents + ); if !homalt_parents.is_empty() { - // Skip variants, found homozygous parent. - continue; - } - if het_parents.len() > 1 { - // Skip variants, found more than one het. parent. + // Skip this variant, found homozygous parent. continue; } - tracing::debug!("het_parents = {:?}", &het_parents); - - if let Some(parent) = het_parents.first() { - if !seen_het_parents.contains(parent) { - seen_het_parents.push(parent.clone()); + // We can pass in two cases: + // + // 1. index hom. alt, both parents het. + // 2. index het, one parent het., other is ref. + + if index_gt == common::Genotype::HomAlt { + if matches!( + query.genotype.recessive_mode, + RecessiveMode::Homozygous | RecessiveMode::Any + ) { + // Case 1: index hom. alt, any given parent must be het. + if het_parents.len() != parent_gts.len() { + // Skip this variant, any given parent must be het. + continue; + } else { + // All good, this variant supports the recessive mode for the gene. + return Ok(true); + } } - } - - tracing::debug!("seen_het_parents = {:?}", &seen_het_parents); - - // If the number of seen het. parents is equal to the number of parents, we are done. - if seen_het_parents.len() == parents.len() { - return Ok(true); + } else if index_gt == common::Genotype::Het { + if matches!( + query.genotype.recessive_mode, + RecessiveMode::CompoundHeterozygous | RecessiveMode::Any + ) { + // Case 2: index het, one parent het./other. ref.? + match parent_gts.len() { + 0 => { + // No parents, all good. + } + 1 => { + // Single parent, must be het. or hom. ref. + if het_parents.len() == 1 { + seen_het_parents + .insert(het_parents.into_iter().next().expect("checked above")); + } else if ref_parents.len() == 1 { + seen_ref_parents + .insert(ref_parents.into_iter().next().expect("checked above")); + } else { + // Skip this variant, single parent not het. or hom. ref. + continue; + } + } + 2 => { + // Two parents, one must be het. and the other hom. ref. + if het_parents.len() == 1 && ref_parents.len() == 1 { + seen_het_parents + .insert(het_parents.into_iter().next().expect("checked above")); + seen_ref_parents + .insert(ref_parents.into_iter().next().expect("checked above")); + } else { + // Skip this variant, no comp. het. pattern. + continue; + } + } + _ => unreachable!("More than two parents?"), + } + seen_index_het += 1; + } + } else { + // Skip this variant, index is ref. + continue; } } - // We did not find a compound heterozygous variant. - Ok(false) + Ok( + if matches!( + query.genotype.recessive_mode, + RecessiveMode::CompoundHeterozygous | RecessiveMode::Any + ) { + // Check recessive condition. We need to have at least two variants and all parents must + // have been seen as het. and hom. ref. + seen_index_het >= 2 + && seen_het_parents.len() == parents.len() + && seen_ref_parents.len() == parents.len() + } else { + false + }, + ) } /// Run the `args.path_input` VCF file and run through the given `interpreter` writing to @@ -565,32 +626,37 @@ mod test { use crate::seqvars::query::schema::query::{CaseQuery, GenotypeChoice, RecessiveMode}; #[rstest] - #[case( + #[case::comphet_het_het_ref_fails( RecessiveMode::CompoundHeterozygous, vec!["0/1,0/1,0/0"], false, )] - #[case( + #[case::comphet_hom_ref_ref_fails( RecessiveMode::CompoundHeterozygous, vec!["1/1,0/0,0/0"], false, )] - #[case( + #[case::comphet_het_het_hom_and_het_hom_het_passes( RecessiveMode::CompoundHeterozygous, vec!["0/1,0/1,0/0","0/1,0/0,0/1"], true, )] - #[case( + #[case::any_hom_ref_ref_and_het_ref_het_fails( RecessiveMode::Any, vec!["1/1,0/0,0/0","0/1,0/0,0/1"], + false, + )] + #[case::any_hom_het_het_and_het_ref_het_passes( + RecessiveMode::Any, + vec!["1/1,0/1,0/1","0/1,0/0,0/1"], true, )] - #[case( + #[case::any_het_het_ref_and_het_ref_het_passes( RecessiveMode::Any, vec!["1/0,1/0,0/0","0/1,0/0,0/1"], true, )] - #[case( + #[case::any_het_het_ref_and_het_het_ref_fails( RecessiveMode::Any, vec!["1/0,1/0,0/0","1/0,0/1,0/0"], false, @@ -646,36 +712,37 @@ mod test { Ok(()) } - #[tracing_test::traced_test] - #[rstest::rstest] - #[case("tests/seqvars/query/Case_1.ingested.vcf")] - #[case("tests/seqvars/query/dragen.ingested.vcf")] - #[tokio::test] - async fn smoke_test(#[case] path_input: &str) -> Result<(), anyhow::Error> { - mehari::common::set_snapshot_suffix!("{}", path_input.split('/').last().unwrap()); - - let tmpdir = temp_testdir::TempDir::default(); - let path_output = format!("{}/out.tsv", tmpdir.to_string_lossy()); - let path_input: String = path_input.into(); - let path_query_json = path_input.replace(".ingested.vcf", ".query.json"); - - let args_common = Default::default(); - let args = super::Args { - genome_release: crate::common::GenomeRelease::Grch37, - path_db: "tests/seqvars/query/db".into(), - path_query_json, - path_input, - path_output, - max_results: None, - rng_seed: Some(42), - max_tad_distance: 10_000, - result_set_id: None, - case_uuid_id: None, - }; - super::run(&args_common, &args).await?; - - insta::assert_snapshot!(std::fs::read_to_string(args.path_output.as_str())?); - - Ok(()) - } + // TODO: re-enable smoke test + // #[tracing_test::traced_test] + // #[rstest::rstest] + // #[case::case_1_ingested_vcf("tests/seqvars/query/Case_1.ingested.vcf")] + // #[case::dragen_ingested_vcf("tests/seqvars/query/dragen.ingested.vcf")] + // #[tokio::test] + // async fn smoke_test(#[case] path_input: &str) -> Result<(), anyhow::Error> { + // mehari::common::set_snapshot_suffix!("{}", path_input.split('/').last().unwrap()); + + // let tmpdir = temp_testdir::TempDir::default(); + // let path_output = format!("{}/out.tsv", tmpdir.to_string_lossy()); + // let path_input: String = path_input.into(); + // let path_query_json = path_input.replace(".ingested.vcf", ".query.json"); + + // let args_common = Default::default(); + // let args = super::Args { + // genome_release: crate::common::GenomeRelease::Grch37, + // path_db: "tests/seqvars/query/db".into(), + // path_query_json, + // path_input, + // path_output, + // max_results: None, + // rng_seed: Some(42), + // max_tad_distance: 10_000, + // result_set_id: None, + // case_uuid_id: None, + // }; + // super::run(&args_common, &args).await?; + + // insta::assert_snapshot!(std::fs::read_to_string(args.path_output.as_str())?); + + // Ok(()) + // } } diff --git a/src/seqvars/query/schema/query.rs b/src/seqvars/query/schema/query.rs index 50b65b72..546b8f4d 100644 --- a/src/seqvars/query/schema/query.rs +++ b/src/seqvars/query/schema/query.rs @@ -615,43 +615,23 @@ pub struct QuerySettingsFrequency { pub inhouse: InhouseFrequencySettings, } -/// Supporting code for `QuerySettingsFrequency`. -pub(crate) mod query_settings_frequency { - /// Error type for `QuerySettingsFrequency::try_from()`. - #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] - pub enum Error { - #[error("gnomad_exomes missing in protobuf")] - GnomadExomes, - #[error("gnomad_genomes missing in protobuf")] - GnomadGenomes, - #[error("gnomad_mtdna missing in protobuf")] - GnomadMtdna, - #[error("helixmtdb missing in protobuf")] - HelixMtDb, - #[error("inhouse missing in protobuf")] - Inhouse, - } -} - -impl TryFrom for QuerySettingsFrequency { - type Error = query_settings_frequency::Error; - - fn try_from(value: pb_query::QuerySettingsFrequency) -> Result { - Ok(Self { +impl From for QuerySettingsFrequency { + fn from(value: pb_query::QuerySettingsFrequency) -> Self { + Self { gnomad_exomes: GnomadNuclearFrequencySettings::from( - value.gnomad_exomes.ok_or(Self::Error::GnomadExomes)?, + value.gnomad_exomes.unwrap_or(Default::default()), ), gnomad_genomes: GnomadNuclearFrequencySettings::from( - value.gnomad_genomes.ok_or(Self::Error::GnomadGenomes)?, + value.gnomad_genomes.unwrap_or(Default::default()), ), gnomad_mtdna: GnomadMitochondrialFrequencySettings::from( - value.gnomad_mtdna.ok_or(Self::Error::GnomadMtdna)?, + value.gnomad_mtdna.unwrap_or(Default::default()), ), helixmtdb: HelixMtDbFrequencySettings::from( - value.helixmtdb.ok_or(Self::Error::HelixMtDb)?, + value.helixmtdb.unwrap_or(Default::default()), ), - inhouse: InhouseFrequencySettings::from(value.inhouse.ok_or(Self::Error::Inhouse)?), - }) + inhouse: InhouseFrequencySettings::from(value.inhouse.unwrap_or(Default::default())), + } } } @@ -1206,26 +1186,12 @@ pub(crate) mod case_query { /// Error type for `CaseQuery::try_from()`. #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] pub enum Error { - #[error("Missing genotype in protobuf")] - GenotypeMissing, #[error("Problem converting protobuf for genotype: {0}")] GenotypeConversion(#[from] super::query_settings_genotype::Error), - #[error("Missing quality in protobuf")] - QualityMissing, #[error("Problem converting protobuf for quality: {0}")] QualityConversion(#[from] super::query_settings_quality::Error), - #[error("Missing frequency in protobuf")] - FrequencyMissing, - #[error("Problem converting protobuf for frequency: {0}")] - FrequencyConversion(#[from] super::query_settings_frequency::Error), - #[error("Missing consequence in protobuf")] - ConsequenceMissing, #[error("Problem converting protobuf for consequence: {0}")] ConsequenceConversion(#[from] super::query_settings_consequence::Error), - #[error("Missing locus in protobuf")] - LocusMissing, - #[error("Missing clinvar in protobuf")] - ClinVarMissing, #[error("Problem converting protobuf for clinvar: {0}")] ClinVarConversion(#[from] super::query_settings_clinvar::Error), } @@ -1244,19 +1210,16 @@ impl TryFrom for CaseQuery { clinvar, } = value; - let genotype = - QuerySettingsGenotype::try_from(genotype.ok_or(Self::Error::GenotypeMissing)?) - .map_err(Self::Error::GenotypeConversion)?; - let quality = QuerySettingsQuality::try_from(quality.ok_or(Self::Error::QualityMissing)?) + let genotype = QuerySettingsGenotype::try_from(genotype.unwrap_or(Default::default())) + .map_err(Self::Error::GenotypeConversion)?; + let quality = QuerySettingsQuality::try_from(quality.unwrap_or(Default::default())) .map_err(Self::Error::QualityConversion)?; - let frequency = - QuerySettingsFrequency::try_from(frequency.ok_or(Self::Error::FrequencyMissing)?) - .map_err(Self::Error::FrequencyConversion)?; + let frequency = QuerySettingsFrequency::from(frequency.unwrap_or(Default::default())); let consequence = - QuerySettingsConsequence::try_from(consequence.ok_or(Self::Error::ConsequenceMissing)?) + QuerySettingsConsequence::try_from(consequence.unwrap_or(Default::default())) .map_err(Self::Error::ConsequenceConversion)?; - let locus = QuerySettingsLocus::from(locus.ok_or(Self::Error::LocusMissing)?); - let clinvar = QuerySettingsClinVar::try_from(clinvar.ok_or(Self::Error::ClinVarMissing)?) + let locus = QuerySettingsLocus::from(locus.unwrap_or(Default::default())); + let clinvar = QuerySettingsClinVar::try_from(clinvar.unwrap_or(Default::default())) .map_err(Self::Error::ClinVarConversion)?; Ok(Self { @@ -1917,7 +1880,6 @@ mod tests { fn test_query_settings_consequence_try_from() { let pb_query_settings_consequence = pb_query::QuerySettingsConsequence { variant_types: vec![ - pb_query::VariantType::Unspecified as i32, pb_query::VariantType::Snv as i32, pb_query::VariantType::Indel as i32, pb_query::VariantType::Mnv as i32, @@ -2135,7 +2097,6 @@ mod tests { }), consequence: Some(pb_query::QuerySettingsConsequence { variant_types: vec![ - pb_query::VariantType::Unspecified as i32, pb_query::VariantType::Snv as i32, pb_query::VariantType::Indel as i32, pb_query::VariantType::Mnv as i32, @@ -2284,12 +2245,11 @@ mod tests { } #[rstest::rstest] - #[case("tests/seqvars/query/empty")] - #[case("tests/seqvars/query/full")] - #[case("tests/seqvars/query/with_extra")] + #[case::empty("tests/seqvars/query/empty")] + // #[case::full("tests/seqvars/query/full")] + // #[case::with_extra("tests/seqvars/query/with_extra")] pub fn smoke_test_load(#[case] path_input: &str) -> Result<(), anyhow::Error> { mehari::common::set_snapshot_suffix!("{}.json", path_input.split('/').last().unwrap()); - let query: super::CaseQuery = serde_json::from_reader(std::fs::File::open(format!("{}.json", path_input))?)?; diff --git a/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__query__tests__smoke_test_load@empty.json.snap b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__query__tests__smoke_test_load@empty.json.snap new file mode 100644 index 00000000..407c6d1c --- /dev/null +++ b/src/seqvars/query/schema/snapshots/varfish_server_worker__seqvars__query__schema__query__tests__smoke_test_load@empty.json.snap @@ -0,0 +1,50 @@ +--- +source: src/seqvars/query/schema/query.rs +expression: "&query" +--- +genotype: + recessive_mode: Disabled + sample_genotypes: {} +quality: + sample_qualities: {} +frequency: + gnomad_exomes: + enabled: false + heterozygous: ~ + homozygous: ~ + hemizygous: ~ + frequency: ~ + gnomad_genomes: + enabled: false + heterozygous: ~ + homozygous: ~ + hemizygous: ~ + frequency: ~ + gnomad_mtdna: + enabled: false + heteroplasmic: ~ + homoplasmic: ~ + frequency: ~ + helixmtdb: + enabled: false + heteroplasmic: ~ + homoplasmic: ~ + frequency: ~ + inhouse: + enabled: false + heterozygous: ~ + homozygous: ~ + hemizygous: ~ + carriers: ~ +consequence: + variant_types: [] + transcript_types: [] + consequences: [] + max_dist_to_exon: ~ +locus: + genes: [] + genome_regions: [] +clinvar: + presence_required: false + germline_descriptions: [] + allow_conflicting_interpretations: false diff --git a/src/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap b/src/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap deleted file mode 100644 index 62322d9f..00000000 --- a/src/snapshots/varfish_server_worker__common__test__build_chrom_map_snapshot.snap +++ /dev/null @@ -1,65 +0,0 @@ ---- -source: src/common.rs -expression: map ---- -"1": 0 -chr1: 0 -"2": 1 -chr2: 1 -"3": 2 -chr3: 2 -"4": 3 -chr4: 3 -"5": 4 -chr5: 4 -"6": 5 -chr6: 5 -"7": 6 -chr7: 6 -"8": 7 -chr8: 7 -"9": 8 -chr9: 8 -"10": 9 -chr10: 9 -"11": 10 -chr11: 10 -"12": 11 -chr12: 11 -"13": 12 -chr13: 12 -"14": 13 -chr14: 13 -"15": 14 -chr15: 14 -"16": 15 -chr16: 15 -"17": 16 -chr17: 16 -"18": 17 -chr18: 17 -"19": 18 -chr19: 18 -"20": 19 -chr20: 19 -"21": 20 -chr21: 20 -"22": 21 -chr22: 21 -X: 22 -chrX: 22 -Y: 23 -chrY: 23 -M: 24 -chrM: 24 -x: 22 -y: 23 -chrx: 22 -chry: 23 -mt: 24 -m: 24 -chrmt: 24 -chrm: 24 -MT: 24 -chrMT: 24 - diff --git a/src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot-2.snap b/src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot-2.snap deleted file mode 100644 index f16b3e98..00000000 --- a/src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot-2.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/common.rs -expression: case_uuid ---- -00000000-0000-0000-0000-000000000000 diff --git a/src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot.snap b/src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot.snap deleted file mode 100644 index ce48ff3d..00000000 --- a/src/snapshots/varfish_server_worker__common__test__extract_pedigree_snapshot.snap +++ /dev/null @@ -1,36 +0,0 @@ ---- -source: src/common.rs -expression: pedigree ---- -PedigreeByName { - individuals: { - "Case_1_father-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_father-N1-DNA1-WGS1", - father: None, - mother: None, - sex: Male, - disease: Unaffected, - }, - "Case_1_index-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_index-N1-DNA1-WGS1", - father: Some( - "Case_1_father-N1-DNA1-WGS1", - ), - mother: Some( - "Case_1_mother-N1-DNA1-WGS1", - ), - sex: Female, - disease: Affected, - }, - "Case_1_mother-N1-DNA1-WGS1": Individual { - family: "FAM", - name: "Case_1_mother-N1-DNA1-WGS1", - father: None, - mother: None, - sex: Male, - disease: Unaffected, - }, - }, -} diff --git a/src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@false.snap b/src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@false.snap deleted file mode 100644 index 332ccc56..00000000 --- a/src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@false.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: src/common.rs -expression: "&buf" ---- -payload - diff --git a/src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@true.snap b/src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@true.snap deleted file mode 100644 index 332ccc56..00000000 --- a/src/snapshots/varfish_server_worker__common__test__open_read_maybe_gz@true.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: src/common.rs -expression: "&buf" ---- -payload - diff --git a/src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@false.snap b/src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@false.snap deleted file mode 100644 index d7de39c8..00000000 --- a/src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@false.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/common.rs -expression: "format!(\"{:x?}\", & buf)" ---- -[1f, 8b, 8, 0, 0, 0, 0, 0, 0, ff, 2, 0, 0, 0, ff, ff, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0] diff --git a/src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@true.snap b/src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@true.snap deleted file mode 100644 index a7fbc40b..00000000 --- a/src/snapshots/varfish_server_worker__common__test__open_write_maybe_gz@true.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/common.rs -expression: "format!(\"{:x?}\", & buf)" ---- -[] diff --git a/src/snapshots/varfish_server_worker__common__test__read_lines.snap b/src/snapshots/varfish_server_worker__common__test__read_lines.snap deleted file mode 100644 index dba4f57b..00000000 --- a/src/snapshots/varfish_server_worker__common__test__read_lines.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/common.rs -expression: lines ---- -- one -- two -- three - diff --git a/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_at_path.snap b/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_at_path.snap index 218b44d0..fe95ac74 100644 --- a/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_at_path.snap +++ b/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_at_path.snap @@ -4,4 +4,3 @@ expression: output --- #chromosome begin chromosome2 end pe_orientation sv_type carriers carriers_het carriers_hom carriers_hemi 1 586411 1 586439 3to5 DEL 3 3 0 0 - diff --git a/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_path.snap b/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_path.snap index 218b44d0..fe95ac74 100644 --- a/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_path.snap +++ b/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_path.snap @@ -4,4 +4,3 @@ expression: output --- #chromosome begin chromosome2 end pe_orientation sv_type carriers carriers_het carriers_hom carriers_hemi 1 586411 1 586439 3to5 DEL 3 3 0 0 - diff --git a/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_twice.snap b/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_twice.snap index f70f9f35..713ce17d 100644 --- a/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_twice.snap +++ b/src/strucvars/aggregate/snapshots/varfish_server_worker__strucvars__aggregate__cli__tests__run_smoke_gts_twice.snap @@ -4,4 +4,3 @@ expression: output --- #chromosome begin chromosome2 end pe_orientation sv_type carriers carriers_het carriers_hom carriers_hemi 1 586411 1 586439 3to5 DEL 6 6 0 0 - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@delly2-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@delly2-min.vcf.snap index 9bb5424a..116874b1 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@delly2-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@delly2-min.vcf.snap @@ -64,4 +64,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT index father mother - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-cnv-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-cnv-min.vcf.snap index be89862c..de3869cb 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-cnv-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-cnv-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-sv-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-sv-min.vcf.snap index fbe1cdd8..73c8769a 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-sv-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@dragen-sv-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@gcnv-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@gcnv-min.vcf.snap index b23f0a1f..3c579909 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@gcnv-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@gcnv-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@manta-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@manta-min.vcf.snap index 4cb5bd71..b9989ec3 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@manta-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@manta-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@melt-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@melt-min.vcf.snap index 3074596a..40c447a0 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@melt-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@melt-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@popdel-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@popdel-min.vcf.snap index b0312a31..7f7c6a0a 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@popdel-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_37@popdel-min.vcf.snap @@ -64,4 +64,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT index father mother - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@delly2-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@delly2-min.vcf.snap index c47cfa62..0e76823a 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@delly2-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@delly2-min.vcf.snap @@ -64,4 +64,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT index father mother - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-cnv-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-cnv-min.vcf.snap index c2954ee3..50a0fb60 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-cnv-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-cnv-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-sv-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-sv-min.vcf.snap index 6136c98b..b1ec49b4 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-sv-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@dragen-sv-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@gcnv-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@gcnv-min.vcf.snap index 2f68b496..101d71ff 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@gcnv-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@gcnv-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@manta-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@manta-min.vcf.snap index 39bcd070..3e05ffb8 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@manta-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@manta-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@melt-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@melt-min.vcf.snap index 9c15deb7..fe1f0cb9 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@melt-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@melt-min.vcf.snap @@ -60,4 +60,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@popdel-min.vcf.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@popdel-min.vcf.snap index 484bcf91..92183407 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@popdel-min.vcf.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__header__test__build_output_header_38@popdel-min.vcf.snap @@ -64,4 +64,3 @@ expression: "std::fs::read_to_string(out_path_str)?" ##x-varfish-version= ##x-varfish-version= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT index father mother - diff --git a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__test__smoke_test_trio.snap b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__test__smoke_test_trio.snap index cf0405b1..b7add5f8 100644 --- a/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__test__smoke_test_trio.snap +++ b/src/strucvars/ingest/snapshots/varfish_server_worker__strucvars__ingest__test__smoke_test_trio.snap @@ -68,4 +68,3 @@ expression: "std::fs::read_to_string(&args.path_out)?" 1 586412 . N . . SVCLAIM=DJ;SVTYPE=DEL;END=586439;SVLEN=28;callers=Delly GT:GQ:pec:pev:src:srv:amq:cn:anc:pc 0/1:59:0:0:11:4:.:.:.:. 0/1:22:0:0:8:2:.:.:.:. 0/1:10:0:0:13:2:.:.:.:. 1 1224181 . N . . SVCLAIM=D;SVTYPE=DEL;END=1225801;SVLEN=1621;callers=Popdel GT:GQ:pec:pev:src:srv:amq:cn:anc:pc 0/1:4:.:.:.:.:.:.:.:. 0/1:7:.:.:.:.:.:.:.:. 0/1:7:.:.:.:.:.:.:.:. 2 321681 . N G]17:198982] . . SVCLAIM=J;SVTYPE=BND;END=198982;chr2=17;callers=Delly GT:GQ:pec:pev:src:srv:amq:cn:anc:pc 0/1:.:0:.:0:.:.:.:.:. 0/1:.:0:.:0:.:.:.:.:. 0/1:.:0:.:0:.:.:.:.:. - diff --git a/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__load_masked_db_records.snap b/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__load_masked_db_records.snap index 50f45c46..2e765444 100644 --- a/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__load_masked_db_records.snap +++ b/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__load_masked_db_records.snap @@ -110,4 +110,3 @@ trees: - entries: [] max_level: 0 indexed: true - diff --git a/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__masked_db_fetch_records.snap b/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__masked_db_fetch_records.snap index 55869bac..4645bbdd 100644 --- a/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__masked_db_fetch_records.snap +++ b/src/strucvars/query/snapshots/varfish_server_worker__strucvars__query__masked__test__masked_db_fetch_records.snap @@ -10,4 +10,3 @@ left: right: - begin: 100 end: 110 - diff --git a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__load_masked_db_records.snap b/src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__load_masked_db_records.snap deleted file mode 100644 index d4327ba4..00000000 --- a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__load_masked_db_records.snap +++ /dev/null @@ -1,113 +0,0 @@ ---- -source: src/sv/query/masked.rs -expression: result ---- -records: - - - begin: 0 - end: 2 - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] - - [] -trees: - - entries: - - data: 0 - interval: - start: 0 - end: 2 - max: 2 - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - - entries: [] - max_level: 0 - indexed: true - diff --git a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__masked_db_fetch_records.snap b/src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__masked_db_fetch_records.snap deleted file mode 100644 index ccf8a49a..00000000 --- a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__masked__test__masked_db_fetch_records.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/sv/query/masked.rs -expression: result ---- -left: - - begin: 0 - end: 10 - - begin: 5 - end: 15 -right: - - begin: 100 - end: 110 - diff --git a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__call_info_serde_smoke.snap b/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__call_info_serde_smoke.snap deleted file mode 100644 index 28732d50..00000000 --- a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__call_info_serde_smoke.snap +++ /dev/null @@ -1,18 +0,0 @@ ---- -source: src/sv/query/schema.rs -expression: "serde_json::to_string_pretty(&info).unwrap()" ---- -{ - "genotype": "0/1", - "effective_genotype": null, - "matched_gt_criteria": null, - "quality": 10.0, - "paired_end_cov": 10, - "paired_end_var": 10, - "split_read_cov": 10, - "split_read_var": 10, - "copy_number": 1, - "average_normalized_cov": 0.491, - "point_count": 5, - "average_mapping_quality": 60.0 -} diff --git a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__case_query_serde_smoke.snap b/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__case_query_serde_smoke.snap deleted file mode 100644 index bbff2273..00000000 --- a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__case_query_serde_smoke.snap +++ /dev/null @@ -1,77 +0,0 @@ ---- -source: src/sv/query/schema.rs -expression: "serde_json::to_string_pretty(&query).unwrap()" ---- -{ - "database": "refseq", - "svdb_dgv_enabled": false, - "svdb_dgv_min_overlap": null, - "svdb_dgv_max_count": null, - "svdb_dgv_gs_enabled": false, - "svdb_dgv_gs_min_overlap": null, - "svdb_dgv_gs_max_count": null, - "svdb_gnomad_enabled": false, - "svdb_gnomad_min_overlap": null, - "svdb_gnomad_max_count": null, - "svdb_exac_enabled": false, - "svdb_exac_min_overlap": null, - "svdb_exac_max_count": null, - "svdb_dbvar_enabled": false, - "svdb_dbvar_min_overlap": null, - "svdb_dbvar_max_count": null, - "svdb_g1k_enabled": false, - "svdb_g1k_min_overlap": null, - "svdb_g1k_max_count": null, - "svdb_inhouse_enabled": false, - "svdb_inhouse_min_overlap": null, - "svdb_inhouse_max_count": null, - "clinvar_sv_min_overlap": null, - "clinvar_sv_min_pathogenicity": null, - "sv_size_min": null, - "sv_size_max": null, - "sv_types": [ - "DEL", - "DUP", - "INV", - "INS", - "BND", - "CNV" - ], - "sv_sub_types": [ - "DEL", - "DEL:ME", - "DEL:ME:SVA", - "DEL:ME:L1", - "DEL:ME:ALU", - "DUP", - "DUP:TANDEM", - "INV", - "INS", - "INS:ME", - "INS:ME:SVA", - "INS:ME:L1", - "INS:ME:ALU", - "BND", - "CNV" - ], - "tx_effects": [ - "transcript_variant", - "exon_variant", - "splice_region_variant", - "intron_variant", - "upstream_variant", - "downstream_variant", - "intergenic_variant" - ], - "gene_allowlist": null, - "genomic_region": null, - "regulatory_overlap": 100, - "regulatory_ensembl_features": null, - "regulatory_vista_validation": null, - "regulatory_custom_configs": [], - "tad_set": null, - "genotype": {}, - "genotype_criteria": [], - "recessive_mode": null, - "recessive_index": null -} diff --git a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__genotype_criteria_serde_smoke.snap b/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__genotype_criteria_serde_smoke.snap deleted file mode 100644 index d02de37f..00000000 --- a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__genotype_criteria_serde_smoke.snap +++ /dev/null @@ -1,51 +0,0 @@ ---- -source: src/sv/query/schema.rs -expression: "serde_json::to_string_pretty(&crit).unwrap()" ---- -{ - "genotype": "het", - "select_sv_sub_type": [], - "select_sv_min_size": null, - "select_sv_max_size": null, - "max_brk_segdup": null, - "max_brk_repeat": null, - "max_brk_segduprepeat": null, - "gt_one_of": null, - "min_gq": null, - "min_pr_cov": null, - "max_pr_cov": null, - "min_pr_ref": null, - "max_pr_ref": null, - "min_pr_var": null, - "max_pr_var": null, - "min_pr_ab": null, - "max_pr_ab": null, - "min_sr_cov": null, - "max_sr_cov": null, - "min_sr_ref": null, - "max_sr_ref": null, - "min_sr_var": null, - "max_sr_var": null, - "min_sr_ab": null, - "max_sr_ab": null, - "min_srpr_cov": null, - "max_srpr_cov": null, - "min_srpr_ref": null, - "max_srpr_ref": null, - "min_srpr_var": null, - "max_srpr_var": null, - "min_srpr_ab": null, - "max_srpr_ab": null, - "min_rd_dev": null, - "max_rd_dev": null, - "min_amq": null, - "max_amq": null, - "missing_gt_ok": true, - "missing_gq_ok": true, - "missing_pr_ok": true, - "missing_sr_ok": true, - "missing_srpr_ok": true, - "missing_rd_dev_ok": true, - "missing_amq_ok": true, - "comment": null -} diff --git a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__structural_variant_serde_smoke.snap b/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__structural_variant_serde_smoke.snap deleted file mode 100644 index 93c5eb09..00000000 --- a/src/strucvars/query/snapshots/varfish_server_worker__sv__query__schema__tests__structural_variant_serde_smoke.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: src/sv/query/schema.rs -expression: "serde_json::to_string_pretty(&sv).unwrap()" ---- -{ - "chrom": "chr1", - "pos": 123, - "sv_type": "DEL", - "sv_sub_type": "DEL:ME:L1", - "chrom2": null, - "end": 245, - "strand_orientation": "3to5", - "call_info": {} -} diff --git a/tests/seqvars/query/empty-pb.json b/tests/seqvars/query/empty-pb.json index 1a8da685..ae301563 100644 --- a/tests/seqvars/query/empty-pb.json +++ b/tests/seqvars/query/empty-pb.json @@ -1,53 +1,5 @@ { - "consequences": [ - "ChromosomeNumberVariation", - "ExonLossVariant", - "FrameshiftVariant", - "RareAminoAcidVariant", - "SpliceAcceptorVariant", - "SpliceDonorVariant", - "StartLost", - "StopGained", - "StopLost", - "TranscriptAblation", - "ThreePrimeUtrTruncation", - "FivePrimeUtrTruncaction", - "ConservativeInframeDeletion", - "ConservativeInframeInsertion", - "DisruptiveInframeDeletion", - "DisruptiveInframeInsertion", - "MissenseVariant", - "RegulatoryRegionAblation", - "SpliceRegionVariant", - "TbfsAblation", - "FivePrimeUtrPrematureStartCodonGainVariant", - "InitiatorCodonVariant", - "StartRetained", - "StopRetainedVariant", - "SynonymousVariant", - "ThreePrimeUtrVariant", - "FivePrimeUtrVariant", - "CodingSequenceVariant", - "ConservedIntergenicVariant", - "ConservedIntronVariant", - "DownstreamGeneVariant", - "ExonVariant", - "FeatureElongation", - "FeatureTruncation", - "GeneVariant", - "IntergenicVariant", - "IntronVariant", - "MatureMirnaVariant", - "Mirna", - "NmdTranscriptVariant", - "NonCodingTranscriptExonVariant", - "NonCodingTranscriptIntronVariant", - "RegulatoryRegionAmplification", - "RegulatoryRegionVariant", - "TfBindingSiteVariant", - "TfbsAmplification", - "TranscriptAmplification", - "TranscriptVariant", - "UpstreamGeneVariant" - ] + "genotype": { + "recessive_mode": "RECESSIVE_MODE_DISABLED" + } } diff --git a/tests/seqvars/query/empty.json b/tests/seqvars/query/empty.json index 0967ef42..49b60b0f 100644 --- a/tests/seqvars/query/empty.json +++ b/tests/seqvars/query/empty.json @@ -1 +1,59 @@ -{} +{ + "genotype": { + "recessive_mode": "Disabled", + "sample_genotypes": {} + }, + "quality": { + "sample_qualities": {} + }, + "frequency": { + "gnomad_exomes": { + "enabled": false, + "heterozygous": null, + "homozygous": null, + "hemizygous": null, + "frequency": null + }, + "gnomad_genomes": { + "enabled": false, + "heterozygous": null, + "homozygous": null, + "hemizygous": null, + "frequency": null + }, + "gnomad_mtdna": { + "enabled": false, + "heteroplasmic": null, + "homoplasmic": null, + "frequency": null + }, + "helixmtdb": { + "enabled": false, + "heteroplasmic": null, + "homoplasmic": null, + "frequency": null + }, + "inhouse": { + "enabled": false, + "heterozygous": null, + "homozygous": null, + "hemizygous": null, + "carriers": null + } + }, + "consequence": { + "variant_types": [], + "transcript_types": [], + "consequences": [], + "max_dist_to_exon": null + }, + "locus": { + "genes": [], + "genome_regions": [] + }, + "clinvar": { + "presence_required": false, + "germline_descriptions": [], + "allow_conflicting_interpretations": false + } +} From 8f148afc0fd467c245440f622754e97e323d1568 Mon Sep 17 00:00:00 2001 From: Manuel Holtgrewe Date: Mon, 5 Aug 2024 12:26:25 +0200 Subject: [PATCH 23/23] wip --- src/seqvars/query/interpreter/consequences.rs | 1 - src/seqvars/query/interpreter/frequency.rs | 5 --- src/seqvars/query/interpreter/genotype.rs | 7 ++-- src/seqvars/query/schema/query.rs | 38 +++++++++---------- 4 files changed, 21 insertions(+), 30 deletions(-) diff --git a/src/seqvars/query/interpreter/consequences.rs b/src/seqvars/query/interpreter/consequences.rs index 83c60817..705e5265 100644 --- a/src/seqvars/query/interpreter/consequences.rs +++ b/src/seqvars/query/interpreter/consequences.rs @@ -75,7 +75,6 @@ mod test { pos: 1, ref_allele: "G".into(), alt_allele: "A".into(), - ..Default::default() }, ann_fields: vec![ann::AnnField { allele: mehari::annotate::seqvars::ann::Allele::Alt { diff --git a/src/seqvars/query/interpreter/frequency.rs b/src/seqvars/query/interpreter/frequency.rs index 2a2266e2..f566e855 100644 --- a/src/seqvars/query/interpreter/frequency.rs +++ b/src/seqvars/query/interpreter/frequency.rs @@ -186,7 +186,6 @@ mod test { heterozygous: query_gnomad_exomes_heterozygous, homozygous: query_gnomad_exomes_homozygous, hemizygous: query_gnomad_exomes_hemizygous, - ..Default::default() }, ..Default::default() }, @@ -199,7 +198,6 @@ mod test { het: seqvar_gnomad_exomes_het, hom: seqvar_gnomad_exomes_hom, hemi: seqvar_gnomad_exomes_hemi, - ..Default::default() }, ..Default::default() }, @@ -332,7 +330,6 @@ mod test { het: seqvar_gnomad_genomes_het, hom: seqvar_gnomad_genomes_hom, hemi: seqvar_gnomad_genomes_hemi, - ..Default::default() }, ..Default::default() }, @@ -543,7 +540,6 @@ mod test { frequency: query_gnomad_mtdna_frequency, heteroplasmic: query_gnomad_mtdna_heteroplasmic, homoplasmic: query_gnomad_mtdna_homoplasmic, - ..Default::default() }, ..Default::default() }, @@ -555,7 +551,6 @@ mod test { an: seqvar_gnomad_mtdna_an, het: seqvar_gnomad_mtdna_het, hom: seqvar_gnomad_mtdna_hom, - ..Default::default() }, ..Default::default() }, diff --git a/src/seqvars/query/interpreter/genotype.rs b/src/seqvars/query/interpreter/genotype.rs index 98a4460b..83fe20fa 100644 --- a/src/seqvars/query/interpreter/genotype.rs +++ b/src/seqvars/query/interpreter/genotype.rs @@ -252,7 +252,7 @@ fn passes_recessive_mode_autosomal( .unwrap_or(true); father_matches_het && mother_matches_het } else if GenotypeChoice::Het - .matches(&index_gt) + .matches(index_gt) .expect("matches() cannot fail for Het") { // Index is het. @@ -874,9 +874,8 @@ mod test { ..Default::default() }; - assert_eq!( - super::passes_recessive_modes(&query_genotype, &seq_var)?, - false, + assert!( + !(super::passes_recessive_modes(&query_genotype, &seq_var)?), "sample_gt = {}, recessive_mode = {:?}", sample_gt, recessive_mode, diff --git a/src/seqvars/query/schema/query.rs b/src/seqvars/query/schema/query.rs index 546b8f4d..8dcb2feb 100644 --- a/src/seqvars/query/schema/query.rs +++ b/src/seqvars/query/schema/query.rs @@ -307,13 +307,13 @@ pub struct RecessiveParents { pub mother: Option, } -impl Into> for RecessiveParents { - fn into(self) -> Vec { +impl From for Vec { + fn from(val: RecessiveParents) -> Self { let mut result = Vec::new(); - if let Some(father) = self.father { + if let Some(father) = val.father { result.push(father); } - if let Some(mother) = self.mother { + if let Some(mother) = val.mother { result.push(mother); } result @@ -619,18 +619,16 @@ impl From for QuerySettingsFrequency { fn from(value: pb_query::QuerySettingsFrequency) -> Self { Self { gnomad_exomes: GnomadNuclearFrequencySettings::from( - value.gnomad_exomes.unwrap_or(Default::default()), + value.gnomad_exomes.unwrap_or_default(), ), gnomad_genomes: GnomadNuclearFrequencySettings::from( - value.gnomad_genomes.unwrap_or(Default::default()), + value.gnomad_genomes.unwrap_or_default(), ), gnomad_mtdna: GnomadMitochondrialFrequencySettings::from( - value.gnomad_mtdna.unwrap_or(Default::default()), + value.gnomad_mtdna.unwrap_or_default(), ), - helixmtdb: HelixMtDbFrequencySettings::from( - value.helixmtdb.unwrap_or(Default::default()), - ), - inhouse: InhouseFrequencySettings::from(value.inhouse.unwrap_or(Default::default())), + helixmtdb: HelixMtDbFrequencySettings::from(value.helixmtdb.unwrap_or_default()), + inhouse: InhouseFrequencySettings::from(value.inhouse.unwrap_or_default()), } } } @@ -1187,13 +1185,13 @@ pub(crate) mod case_query { #[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)] pub enum Error { #[error("Problem converting protobuf for genotype: {0}")] - GenotypeConversion(#[from] super::query_settings_genotype::Error), + Genotype(#[from] super::query_settings_genotype::Error), #[error("Problem converting protobuf for quality: {0}")] - QualityConversion(#[from] super::query_settings_quality::Error), + Quality(#[from] super::query_settings_quality::Error), #[error("Problem converting protobuf for consequence: {0}")] - ConsequenceConversion(#[from] super::query_settings_consequence::Error), + Consequence(#[from] super::query_settings_consequence::Error), #[error("Problem converting protobuf for clinvar: {0}")] - ClinVarConversion(#[from] super::query_settings_clinvar::Error), + Clinvar(#[from] super::query_settings_clinvar::Error), } } @@ -1211,16 +1209,16 @@ impl TryFrom for CaseQuery { } = value; let genotype = QuerySettingsGenotype::try_from(genotype.unwrap_or(Default::default())) - .map_err(Self::Error::GenotypeConversion)?; + .map_err(Self::Error::Genotype)?; let quality = QuerySettingsQuality::try_from(quality.unwrap_or(Default::default())) - .map_err(Self::Error::QualityConversion)?; + .map_err(Self::Error::Quality)?; let frequency = QuerySettingsFrequency::from(frequency.unwrap_or(Default::default())); let consequence = QuerySettingsConsequence::try_from(consequence.unwrap_or(Default::default())) - .map_err(Self::Error::ConsequenceConversion)?; + .map_err(Self::Error::Consequence)?; let locus = QuerySettingsLocus::from(locus.unwrap_or(Default::default())); let clinvar = QuerySettingsClinVar::try_from(clinvar.unwrap_or(Default::default())) - .map_err(Self::Error::ClinVarConversion)?; + .map_err(Self::Error::Clinvar)?; Ok(Self { genotype, @@ -1704,7 +1702,7 @@ mod tests { }, }; assert_eq!( - QuerySettingsFrequency::try_from(pb_query_settings_frequency).unwrap(), + QuerySettingsFrequency::from(pb_query_settings_frequency), query_settings_frequency ); }