Beispiel #1
0
 public GeneFusionAnnotation(BreakendTranscriptAnnotation breakendTa)
 {
     _exon           = breakendTa.Exon;
     _intron         = breakendTa.Intron;
     _fusions        = new List <GeneFusion>();
     _pos1Annotation = breakendTa;
 }
 public bool IsTranscriptCodingRegionOverlapped(BreakendTranscriptAnnotation other)
 {
     if (other._referenceName != _referenceName)
     {
         return(false);
     }
     if (other._codingEnd < _codingStart || other._codingStart > _codingEnd)
     {
         return(false);
     }
     return(true);
 }
Beispiel #3
0
        private string AssignHgvsc(BreakendTranscriptAnnotation pos2Annotation)
        {
            var hgvsFusionNameBuilder = new StringBuilder(_pos1Annotation.HgvsDescription);

            if (_pos1Annotation.ConsistentOrientation == pos2Annotation.ConsistentOrientation)
            {
                hgvsFusionNameBuilder.Append("_o" + pos2Annotation.HgvsDescription);
            }
            else
            {
                hgvsFusionNameBuilder.Append("_" + pos2Annotation.HgvsDescription);
            }
            return(hgvsFusionNameBuilder.ToString());
        }
        public bool IsGeneFusion(BreakendTranscriptAnnotation other)
        {
            if (TranscriptDataSource != other.TranscriptDataSource)
            {
                return(false);
            }
            if (!InCodingRegion || !other.InCodingRegion)
            {
                return(false);
            }
            if (GeneName == other.GeneName)
            {
                return(false);
            }
            if (IsTranscriptCodingRegionOverlapped(other))
            {
                return(false);
            }

            return(true);
        }
Beispiel #5
0
        public void AddGeneFusion(BreakendTranscriptAnnotation pos2Annotation)
        {
            if (!_pos1Annotation.IsGeneFusion(pos2Annotation))
            {
                return;
            }
            var fusion = new GeneFusion
            {
                Exon           = pos2Annotation.Exon,
                Intron         = pos2Annotation.Intron,
                HgvsCodingName = AssignHgvsc(pos2Annotation),
                Consequences   = new List <ConsequenceType>()
            };

            if (IsUnidirectionalGeneFusion(pos2Annotation))
            {
                fusion.Consequences.Add(ConsequenceType.UnidirectionalGeneFusion);
            }
            if (IsBidirectionalGeneFusion(pos2Annotation))
            {
                fusion.Consequences.Add(ConsequenceType.BidirectionalGeneFusion);
            }
            _fusions.Add(fusion);
        }
Beispiel #6
0
 private bool IsUnidirectionalGeneFusion(BreakendTranscriptAnnotation pos2Annotation)
 {
     return(_pos1Annotation.ConsistentOrientation != pos2Annotation.ConsistentOrientation);
 }