예제 #1
0
        public override bool CreateVariantEffect(Variant variant, VariantEffects variantEffects)
        {
            if (!Intersects(variant))
            {
                return(false);
            }

            //for (SpliceSite ss : spliceSites)
            //    if (ss.intersects(variant)) ss.variantEffect(variant, variantEffects);

            // Add intron part
            variantEffects.AddEffectType(variant, this, EffectType.INTRON);

            return(true);
        }
예제 #2
0
        public override bool CreateVariantEffect(Variant variant, VariantEffects variantEffects)
        {
            if (!Intersects(variant))
            {
                return(false);
            }

            if (variant.Includes(this) && variant.VarType == Variant.VariantType.DEL)
            {
                variantEffects.AddEffectType(variant, this, EffectType.UTR_3_DELETED); // A UTR was removed entirely
                return(true);
            }

            Transcript tr       = (Transcript)FindParent(typeof(Transcript));
            long       distance = utrDistance(variant, tr);

            VariantEffect variantEffect = new VariantEffect(variant);

            variantEffect.Set(this, EffectType.UTR_3_PRIME, EffectTypeMethods.EffectDictionary[EffectType.UTR_3_PRIME], distance >= 0 ? distance + " bases from CDS" : "");
            variantEffect.Distance = distance;
            variantEffects.AddEffect(variantEffect);

            return(true);
        }