Example #1
0
 public void AddSupport(CandidateAllele fromAllele)
 {
     for (var i = 0; i < SupportByDirection.Length; i++)
     {
         SupportByDirection[i] += fromAllele.SupportByDirection[i];
     }
 }
Example #2
0
        public CandidateAllele DeepCopy()
        {
            var copy = new CandidateAllele(Chromosome, Coordinate, Reference, Alternate, Type)
            {
                OpenOnLeft  = OpenOnLeft,
                OpenOnRight = OpenOnRight,
                IsKnown     = IsKnown
            };

            Array.Copy(SupportByDirection, copy.SupportByDirection, SupportByDirection.Length);
            Array.Copy(ReadCollapsedCounts, copy.ReadCollapsedCounts, ReadCollapsedCounts.Length);

            return(copy);
        }
Example #3
0
        public CandidateAllele DeepCopy()
        {
            var copy = new CandidateAllele(Chromosome, ReferencePosition, ReferenceAllele, AlternateAllele, Type)
            {
                OpenOnLeft  = OpenOnLeft,
                OpenOnRight = OpenOnRight,
                IsKnown     = IsKnown
            };

            Array.Copy(SupportByDirection, copy.SupportByDirection, SupportByDirection.Length);
            Array.Copy(WellAnchoredSupportByDirection, copy.WellAnchoredSupportByDirection, WellAnchoredSupportByDirection.Length);
            Array.Copy(ReadCollapsedCountsMut, copy.ReadCollapsedCountsMut, ReadCollapsedCountsMut.Length);
            return(copy);
        }
        public void AddSupport(CandidateAllele fromAllele)
        {
            for (var i = 0; i < SupportByDirection.Length; i++)
            {
                SupportByDirection[i] += fromAllele.SupportByDirection[i];
            }

            for (var i = 0; i < WellAnchoredSupportByDirection.Length; i++)
            {
                WellAnchoredSupportByDirection[i] += fromAllele.WellAnchoredSupportByDirection[i];
            }

            if (fromAllele.SupportByAmplicon.AmpliconNames != null && fromAllele.SupportByAmplicon.AmpliconNames.Length > 0)
            {
                if (SupportByAmplicon.AmpliconNames == null || SupportByAmplicon.AmpliconNames.Length == 0)
                {
                    SupportByAmplicon = AmpliconCounts.GetEmptyAmpliconCounts();
                }

                for (var i = 0; i < fromAllele.SupportByAmplicon.AmpliconNames.Length; i++)
                {
                    var fromAlleleCount = fromAllele.SupportByAmplicon.CountsForAmplicon[i];
                    var fromAlleleName  = fromAllele.SupportByAmplicon.AmpliconNames[i];
                    var indexData       = SupportByAmplicon.GetAmpliconNameIndex(fromAlleleName);

                    if (indexData.IndexForAmplicon > -1)
                    {
                        SupportByAmplicon.CountsForAmplicon[indexData.IndexForAmplicon] += fromAlleleCount;
                    }
                    else
                    {
                        SupportByAmplicon.AmpliconNames[indexData.NextOpenSlot]      = fromAlleleName;
                        SupportByAmplicon.CountsForAmplicon[indexData.NextOpenSlot] += fromAlleleCount;
                    }
                }
            }
        }