예제 #1
0
        public override SupplementaryInterval GetSupplementaryInterval(ChromosomeRenamer renamer)
        {
            if (!IsInterval)
            {
                return(null);
            }

            var intValues    = new Dictionary <string, int>();
            var doubleValues = new Dictionary <string, double>();
            var freqValues   = new Dictionary <string, double>();
            var stringValues = new Dictionary <string, string>();
            var boolValues   = new List <string>();

            var suppInterval = new SupplementaryInterval(Start, End, Chromosome, null, VariantType,
                                                         "DGV", renamer, intValues, doubleValues, freqValues, stringValues, boolValues);

            if (Id != null)
            {
                suppInterval.AddStringValue("id", Id);
            }
            if (SampleSize != 0)
            {
                suppInterval.AddIntValue("sampleSize", SampleSize);
            }
            if (ObservedGains != 0)
            {
                suppInterval.AddIntValue("observedGains", ObservedGains);
            }
            if (ObservedLosses != 0)
            {
                suppInterval.AddIntValue("observedLosses", ObservedLosses);
            }
            if (VariantFreqAll != null)
            {
                suppInterval.AddFrequencyValue("variantFreqAll", VariantFreqAll.Value);
            }

            return(suppInterval);
        }
예제 #2
0
        public override SupplementaryInterval GetSupplementaryInterval(ChromosomeRenamer renamer)
        {
            if (!IsInterval)
            {
                return(null);
            }

            var seqAltType = SequenceAlterationUtilities.GetSequenceAlteration(SvType, ObservedGains, ObservedLosses);

            var intValues    = new Dictionary <string, int>();
            var doubleValues = new Dictionary <string, double>();
            var freqValues   = new Dictionary <string, double>();
            var stringValues = new Dictionary <string, string>();
            var boolValues   = new List <string>();

            var suppInterval = new SupplementaryInterval(Start, SvEnd, Chromosome, AlternateAllele, seqAltType,
                                                         "1000 Genomes Project", renamer, intValues, doubleValues, freqValues, stringValues, boolValues);

            if (Id != null)
            {
                suppInterval.AddStringValue("id", Id);
            }
            if (AfrFreq != null)
            {
                suppInterval.AddFrequencyValue("variantFreqAfr", Convert.ToDouble(AfrFreq));
            }
            if (AllFreq != null)
            {
                suppInterval.AddFrequencyValue("variantFreqAll", Convert.ToDouble(AllFreq));
            }
            if (AmrFreq != null)
            {
                suppInterval.AddFrequencyValue("variantFreqAmr", Convert.ToDouble(AmrFreq));
            }
            if (EasFreq != null)
            {
                suppInterval.AddFrequencyValue("variantFreqEas", Convert.ToDouble(EasFreq));
            }
            if (EurFreq != null)
            {
                suppInterval.AddFrequencyValue("variantFreqEur", Convert.ToDouble(EurFreq));
            }
            if (SasFreq != null)
            {
                suppInterval.AddFrequencyValue("variantFreqSas", Convert.ToDouble(SasFreq));
            }

            if (AllAlleleNumber != null && AllAlleleNumber.Value > 0)
            {
                suppInterval.AddIntValue("sampleSize", AllAlleleNumber.Value);
            }
            if (AfrAlleleNumber != null && AfrAlleleNumber.Value > 0)
            {
                suppInterval.AddIntValue("sampleSizeAfr", AfrAlleleNumber.Value);
            }
            if (AmrAlleleNumber != null && AmrAlleleNumber.Value > 0)
            {
                suppInterval.AddIntValue("sampleSizeAmr", AmrAlleleNumber.Value);
            }
            if (EasAlleleNumber != null && EasAlleleNumber.Value > 0)
            {
                suppInterval.AddIntValue("sampleSizeEas", EasAlleleNumber.Value);
            }
            if (EurAlleleNumber != null && EurAlleleNumber.Value > 0)
            {
                suppInterval.AddIntValue("sampleSizeEur", EurAlleleNumber.Value);
            }
            if (SasAlleleNumber != null && SasAlleleNumber.Value > 0)
            {
                suppInterval.AddIntValue("sampleSizeSas", SasAlleleNumber.Value);
            }

            if (ObservedGains != 0)
            {
                suppInterval.AddIntValue("observedGains", ObservedGains);
            }
            if (ObservedLosses != 0)
            {
                suppInterval.AddIntValue("observedLosses", ObservedLosses);
            }

            return(suppInterval);
        }