Ejemplo n.º 1
0
        private void WriteVarsToVennFiles(VariantComparisonCase ComparisonCase,
                                          CalledAllele VariantA, CalledAllele VariantB)
        {
            AggregateAllele AggregateA = AggregateAllele.SafeCopy(VariantA, new List <CalledAllele> {
                VariantA, VariantB
            });
            AggregateAllele AggregateB = AggregateAllele.SafeCopy(VariantB, new List <CalledAllele> {
                VariantB, VariantA
            });

            if (ComparisonCase == VariantComparisonCase.AgreedOnAlternate)
            {
                _vennDiagramWriters["AandB"].Write(new List <AggregateAllele>()
                {
                    AggregateA
                });
                _vennDiagramWriters["BandA"].Write(new List <AggregateAllele>()
                {
                    AggregateB
                });
            }

            if ((ComparisonCase == VariantComparisonCase.OneReferenceOneAlternate) ||
                (ComparisonCase == VariantComparisonCase.CanNotCombine))
            {
                if ((VariantA != null) && (VariantA.Type != Pisces.Domain.Types.AlleleCategory.Reference))
                {
                    _vennDiagramWriters["AnotB"].Write(new List <CalledAllele>()
                    {
                        VariantA
                    });
                }

                if ((VariantB != null) && (VariantB.Type != Pisces.Domain.Types.AlleleCategory.Reference))
                {
                    _vennDiagramWriters["BnotA"].Write(new List <CalledAllele>()
                    {
                        VariantB
                    });
                }
            }
        }