Пример #1
0
        public void GetOverlappingFlankingTranscripts_TwoOverlaps()
        {
            var interval = new Mock <IChromosomeInterval>();

            interval.SetupGet(x => x.Chromosome).Returns(_chr1);
            interval.SetupGet(x => x.Start).Returns(100);
            interval.SetupGet(x => x.End).Returns(200);

            var overlappingTranscripts = _cache.GetOverlappingTranscripts(interval.Object);

            Assert.NotNull(overlappingTranscripts);
            Assert.Equal(2, overlappingTranscripts.Length);
        }
        private void AddTranscripts(IAnnotatedPosition annotatedPosition)
        {
            var overlappingTranscripts = _transcriptCache.GetOverlappingTranscripts(annotatedPosition.Position);

            if (overlappingTranscripts == null)
            {
                return;
            }

            foreach (var annotatedVariant in annotatedPosition.AnnotatedVariants)
            {
                var geneFusionCandidates = GetGeneFusionCandiates(annotatedVariant.Variant.BreakEnds);
                var annotatedTranscripts = new List <IAnnotatedTranscript>();

                TranscriptAnnotationFactory.GetAnnotatedTranscripts(annotatedVariant.Variant, overlappingTranscripts,
                                                                    _sequence, annotatedTranscripts, annotatedVariant.OverlappingGenes,
                                                                    annotatedVariant.OverlappingTranscripts, _siftCache, _polyphenCache, geneFusionCandidates);

                if (annotatedTranscripts.Count == 0)
                {
                    continue;
                }

                foreach (var annotatedTranscript in annotatedTranscripts)
                {
                    if (annotatedTranscript.Transcript.Source == Source.Ensembl)
                    {
                        annotatedVariant.EnsemblTranscripts.Add(annotatedTranscript);
                    }
                    else
                    {
                        annotatedVariant.RefSeqTranscripts.Add(annotatedTranscript);
                    }
                }
            }
        }