Example #1
0
        /// <summary>
        /// Adds the ClinVar items in this object to the supplementary annotation object
        /// </summary>
        public override SupplementaryDataItem SetSupplementaryAnnotations(SupplementaryPositionCreator saCreator, string refBases = null)
        {
            // check if the ref allele matches the refBases as a prefix
            if (!SupplementaryAnnotationUtilities.ValidateRefAllele(ReferenceAllele, refBases))
            {
                return(null);                //the ref allele for this entry did not match the reference bases.
            }

            // for insertions and deletions, the alternate allele has to be modified to conform with VEP convension
            var newAlleles = SupplementaryAnnotationUtilities.GetReducedAlleles(Start, ReferenceAllele, AltAllele);

            var newStart     = newAlleles.Item1;
            var newRefAllele = newAlleles.Item2;
            var newAltAllele = newAlleles.Item3;

            if (newRefAllele != ReferenceAllele)
            {
                var additionalItem = new ClinVarItem(Chromosome, newStart, _alleleOrigins, newAltAllele, ID, ReviewStatusString, _medgenIds, _omimIds, _orphanetIds, _phenotypes, newRefAllele, Significance, _pubmedIds, LastUpdatedDate);

                return(additionalItem);
            }

            saCreator.SaPosition.ClinVarItems.Add(new ClinVarItem(Chromosome, newStart, _alleleOrigins, newAltAllele, ID, ReviewStatusString, _medgenIds, _omimIds, _orphanetIds, _phenotypes, newRefAllele, Significance, _pubmedIds, LastUpdatedDate));

            return(null);
        }
Example #2
0
        public override SupplementaryDataItem SetSupplementaryAnnotations(SupplementaryPositionCreator sa, string refBases = null)
        {
            // check if the ref allele matches the refBases as a prefix
            if (!SupplementaryAnnotationUtilities.ValidateRefAllele(ReferenceAllele, refBases))
            {
                return(null);                //the ref allele for this entry did not match the reference bases.
            }

            var newAlleles = SupplementaryAnnotationUtilities.GetReducedAlleles(Start, ReferenceAllele, AlternateAllele);

            var newStart     = newAlleles.Item1;
            var newRefAllele = newAlleles.Item2;
            var newAltAllele = newAlleles.Item3;

            if (newRefAllele != ReferenceAllele)
            {
                return(new DbSnpItem(Chromosome,
                                     newStart,
                                     RsId,
                                     newRefAllele,
                                     RefAlleleFreq,
                                     newAltAllele,
                                     AltAlleleFreq,
                                     _infoField));   // we need to keep the vcfline for the sake of conflict resolution
            }
            // it's a SNV or MNV at this position
            SetSaFields(sa, newAltAllele);

            return(null);
        }
Example #3
0
        public override SupplementaryDataItem SetSupplementaryAnnotations(SupplementaryPositionCreator sa, string refBases = null)
        {
            // check if the ref allele matches the refBases as a prefix
            if (!SupplementaryAnnotationUtilities.ValidateRefAllele(ReferenceAllele, refBases))
            {
                return(null); //the ref allele for this entry did not match the reference bases.
            }
            // if this is a SV,
            if (IsInterval)
            {
                return(null);
            }

            var newAlleles = SupplementaryAnnotationUtilities.GetReducedAlleles(Start, ReferenceAllele, AlternateAllele);

            var newStart     = newAlleles.Item1;
            var newRefAllele = newAlleles.Item2;
            var newAltAllele = newAlleles.Item3;

            if (newRefAllele != ReferenceAllele)
            {
                return(new OneKGenItem(Chromosome, newStart, Id, newRefAllele, newAltAllele, AncestralAllele,
                                       AllAlleleCount, AfrAlleleCount, AmrAlleleCount, EurAlleleCount, EasAlleleCount, SasAlleleCount,
                                       AllAlleleNumber, AfrAlleleNumber, AmrAlleleNumber, EurAlleleNumber, EasAlleleNumber, SasAlleleNumber,
                                       SvType, SvEnd, CiPos, CiEnd));
            }

            SetSaFields(sa, newAltAllele);

            return(null);
        }
Example #4
0
        public override SupplementaryDataItem SetSupplementaryAnnotations(SupplementaryPositionCreator saCreator, string refBases = null)
        {
            // check if the ref allele matches the refBases as a prefix
            if (!SupplementaryAnnotationUtilities.ValidateRefAllele(RefAllele, refBases))
            {
                return(null);                //the ref allele for this entry did not match the reference bases.
            }

            var newAlleles = SupplementaryAnnotationUtilities.GetReducedAlleles(Start, RefAllele, AltAllele);

            var newStart     = newAlleles.Item1;
            var newRefAllele = newAlleles.Item2;
            var newAltAllele = newAlleles.Item3;

            if (newRefAllele != RefAllele)
            {
                return(new CosmicItem(Chromosome, newStart, ID, newRefAllele, newAltAllele, Gene, Studies, SampleCount));
            }

            var newRefAlleleParsed = string.IsNullOrEmpty(newRefAllele) ? "-" : newRefAllele;
            var newItem            = new CosmicItem(Chromosome, Start, ID, newRefAlleleParsed, newAltAllele, Gene, Studies, SampleCount);

            newItem.AddCosmicToSa(saCreator);

            return(null);
        }
Example #5
0
        public override SupplementaryDataItem SetSupplementaryAnnotations(SupplementaryPositionCreator sa, string refBases = null)
        {
            // check if the ref allele matches the refBases as a prefix
            if (!SupplementaryAnnotationUtilities.ValidateRefAllele(ReferenceAllele, refBases))
            {
                return(null); //the ref allele for this entry did not match the reference bases.
            }

            var newAlleles = SupplementaryAnnotationUtilities.GetReducedAlleles(Start, ReferenceAllele, AlternateAllele);

            var newStart     = newAlleles.Item1;
            var newRefAllele = newAlleles.Item2;
            var newAltAllele = newAlleles.Item3;

            if (newRefAllele != ReferenceAllele)
            {
                return(new ExacItem(Chromosome, newStart, newRefAllele, newAltAllele, Coverage,
                                    AllAlleleNumber, AfrAlleleNumber, AmrAlleleNumber, EasAlleleNumber, FinAlleleNumber, NfeAlleleNumber, OthAlleleNumber, SasAlleleNumber,
                                    AllAlleleCount, AfrAlleleCount, AmrAlleleCount, EasAlleleCount, FinAlleleCount, NfeAlleleCount, OthAlleleCount, SasAlleleCount));
            }

            SetSaFields(sa, newAltAllele);

            return(null);
        }
Example #6
0
        public override SupplementaryDataItem SetSupplementaryAnnotations(SupplementaryPositionCreator saCreator, string refBases = null)
        {
            // check if the ref allele matches the refBases as a prefix
            if (!SupplementaryAnnotationUtilities.ValidateRefAllele(RefAllele, refBases))
            {
                return(null); //the ref allele for this entry did not match the reference bases.
            }

            var newAlleles = SupplementaryAnnotationUtilities.GetReducedAlleles(Start, RefAllele, AltAllele);

            var newStart     = newAlleles.Item1;
            var newRefAllele = newAlleles.Item2;
            var newAltAllele = newAlleles.Item3;

            if (newRefAllele != RefAllele)
            {
                return(new CustomItem(Chromosome, newStart, newRefAllele, newAltAllele, AnnotationType, Id, IsPositional, StringFields, BooleanFields));
            }
            //for ins, del, indel without padding base, the altAllele will change even though the ref does not.
            saCreator.SaPosition.CustomItems.Add(new CustomItem(Chromosome, newStart, newRefAllele, newAltAllele, AnnotationType, Id, IsPositional, StringFields, BooleanFields));

            return(null);
        }
Example #7
0
        public override SupplementaryDataItem SetSupplementaryAnnotations(SupplementaryPositionCreator sa, string refBases = null)
        {
            // check if the ref allele matches the refBases as a prefix
            if (!SupplementaryAnnotationUtilities.ValidateRefAllele(ReferenceAllele, refBases))
            {
                return(null);                //the ref allele for this entry did not match the reference bases.
            }

            var newAlleles = SupplementaryAnnotationUtilities.GetReducedAlleles(Start, ReferenceAllele, AlternateAllele);

            var newStart     = newAlleles.Item1;
            var newRefAllele = newAlleles.Item2;
            var newAltAllele = newAlleles.Item3;

            if (newRefAllele != ReferenceAllele)
            {
                return(new EvsItem(Chromosome, newStart, RsId, newRefAllele, newAltAllele, AllFreq, AfrFreq, EurFreq, Coverage, NumSamples));
            }

            SetSaFields(sa, newAltAllele);

            return(null);
        }