@@ -409,6 +409,51 @@ void testAnnotatedVariantAcmgDiseaseNameWhitespaceIsReplacedWithUnderscore() {
409409 }
410410
411411 @ Test
412+ public void testMultipleAcmgEvidenceInstancesAreJoinedByAmpersand () {
413+ GeneIdentifier geneIdentifier = GeneIdentifier .builder ()
414+ .geneId ("2263" )
415+ .geneSymbol ("FGFR2" )
416+ .hgncId ("HGNC:3689" )
417+ .hgncSymbol ("FGFR2" )
418+ .entrezId ("2263" )
419+ .ensemblId ("ENSG00000066468" )
420+ .ucscId ("uc021pzz.1" )
421+ .build ();
422+
423+ Gene gene = new Gene (geneIdentifier );
424+ VariantEvaluation variant = TestVariantFactory .buildVariant (10 , 123256215 , "T" , "G" , SampleGenotype .het (), 30 , 2.2 );
425+ variant .addFilterResult (FilterResult .pass (FilterType .VARIANT_EFFECT_FILTER ));
426+ variant .addFilterResult (FilterResult .pass (FilterType .INHERITANCE_FILTER ));
427+ variant .setCompatibleInheritanceModes (Set .of (ModeOfInheritance .AUTOSOMAL_DOMINANT ));
428+ variant .setContributesToGeneScoreUnderMode (ModeOfInheritance .AUTOSOMAL_DOMINANT );
429+ gene .addVariant (variant );
430+ gene .addPriorityResult (new OmimPriorityResult (gene .getEntrezGeneID (), gene .getGeneSymbol (), 1f , Collections .emptyList (), Collections .emptyMap ()));
431+ gene .setCompatibleInheritanceModes (EnumSet .of (ModeOfInheritance .AUTOSOMAL_DOMINANT ));
432+
433+ Disease disease = Disease .builder ()
434+ .diseaseId ("OMIM:101600" )
435+ .diseaseName ("Pfeiffer syndrome" )
436+ .build ();
437+
438+ GeneScore adScore = GeneScore .builder ()
439+ .acmgAssignments (List .of (AcmgAssignment .of (variant , geneIdentifier , ModeOfInheritance .AUTOSOMAL_DOMINANT , disease , AcmgEvidence .of (Map .of (
440+ AcmgCriterion .PS3 , AcmgCriterion .Evidence .STRONG ,
441+ AcmgCriterion .PM2 , AcmgCriterion .Evidence .MODERATE ,
442+ AcmgCriterion .PP3 , AcmgCriterion .Evidence .SUPPORTING
443+ )), AcmgClassification .PATHOGENIC )))
444+ .contributingVariants (List .of (variant ))
445+ .modeOfInheritance (ModeOfInheritance .AUTOSOMAL_DOMINANT )
446+ .geneIdentifier (geneIdentifier )
447+ .combinedScore (1.0 )
448+ .build ();
449+ gene .addGeneScore (adScore );
450+
451+ AnalysisResults analysisResults = buildAnalysisResults (sample , analysis , gene );
452+
453+ String vcf = instance .writeString (analysisResults , settings );
454+ final String expected = METADATA_HEADER + CHR_10_CONTIG_HEADER + SAMPLE_HEADER
455+ + "10\t 123256215\t .\t T\t G\t 2.20\t PASS\t Exomiser={1|10-123256215-T-G_AD|FGFR2|2263|AD|1.0000|1.0000|0.0000|0.0000|0.6000|1|0|missense_variant|FGFR2:uc021pzz.1:c.1694A>C:p.(Glu565Ala)|PATHOGENIC|PS3&PM2&PP3|OMIM:101600|\" Pfeiffer_syndrome\" }\t GT:RD\t 0/1:30\n " ;
456+ assertThat (vcf , equalTo (expected ));
412457 void nullVcfPathProducesNoOutfile (@ TempDir Path tempDir ) throws IOException {
413458 Sample vcfv4Dot3Sample = Sample .builder ().vcfPath (null ).build ();
414459
0 commit comments