예제 #1
0
        /// <summary>
        /// checks if the variant is a reference no-call and sets the flag accordingly
        /// </summary>
        public static void Check(VariantFeature variant, bool limitToTranscript,
                                 IIntervalForest <Transcript> transcriptIntervals)
        {
            // make sure we enabled reference no-call checking and that this is a reference site
            if (!variant.IsReference)
            {
                return;
            }

            // make sure the filters failed
            if (variant.PassFilter())
            {
                return;
            }

            if (!limitToTranscript)
            {
                variant.IsRefNoCall = true;
                return;
            }

            // check if the variant overlaps any transcripts
            variant.IsRefNoCall = transcriptIntervals.OverlapsAny(variant.ReferenceIndex, variant.OverlapReferenceBegin,
                                                                  variant.OverlapReferenceEnd);
        }
예제 #2
0
        public void AssignCytogeneticBand(VariantFeature variant)
        {
            var cytogeneticBands = _compressedSequence.CytogeneticBands;

            if (cytogeneticBands == null)
            {
                return;
            }

            variant.CytogeneticBand = cytogeneticBands.GetCytogeneticBand(variant.ReferenceIndex,
                                                                          variant.VcfReferenceBegin, variant.VcfReferenceEnd);
        }