private void AddTranscripts(IAnnotatedPosition annotatedPosition) { var overlappingTranscripts = _transcriptCache.GetOverlappingFlankingTranscripts(annotatedPosition.Position); if (overlappingTranscripts == null) { // todo: handle intergenic variants return; } foreach (var annotatedVariant in annotatedPosition.AnnotatedVariants) { var annotatedTranscripts = new List <IAnnotatedTranscript>(); PianoAnnotationUtils.GetAnnotatedTranscripts(annotatedVariant.Variant, overlappingTranscripts, _sequence, annotatedTranscripts); 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); } } } }