Exemplo n.º 1
0
        private static ISupplementaryDataItem GetRefMinorItem(IList <ISupplementaryDataItem> saItems)
        {
            var    totalAltAlleleFreq = 0.0;
            var    alleleFrequencies  = new Dictionary <string, double>();
            string refAllele          = null;

            foreach (var supplementaryDataItem in saItems)
            {
                var item = (AlleleFrequencyItem)supplementaryDataItem;
                if (!IsSnv(item.RefAllele) || !IsSnv(item.AltAllele))
                {
                    continue;
                }

                refAllele           = item.RefAllele;
                totalAltAlleleFreq += item.AltFrequency;
                alleleFrequencies[item.AltAllele] = item.AltFrequency;
            }
            var isRefMinor = totalAltAlleleFreq >= SaCommon.RefMinorThreshold;

            if (!isRefMinor)
            {
                return(null);
            }
            string globalMajor = SuppDataUtilities.GetMostFrequentAllele(alleleFrequencies, refAllele);

            return(new RefMinorItem(saItems[0].Chromosome, saItems[0].Position, globalMajor));
        }