Beispiel #1
0
        public static double CalculateFeature(EspFeatureDb.FeatureDef feature, Target target)
        {
            var seq = target.Sequence ?? string.Empty;

            switch (feature)
            {
            case EspFeatureDb.FeatureDef.length:
                return(seq.Length);

            case EspFeatureDb.FeatureDef.mass:
                return(MASS_CALC.GetPrecursorMass(seq));

            case EspFeatureDb.FeatureDef.pI:
                return(PiCalc.Calculate(seq));

            case EspFeatureDb.FeatureDef.AVG_Gas_phase_basicity:
                return(GasPhaseBasicityCalc.Calculate(seq).Average());

            case EspFeatureDb.FeatureDef.nAcidic:
                return(AminoAcid.Count(seq, 'D', 'E'));   // Amino acid

            case EspFeatureDb.FeatureDef.nBasic:
                return(AminoAcid.Count(seq, 'R', 'H', 'K'));    // Amino acid

            default:
                return(EspFeatureDb.CalculateFeature(feature, seq));
            }
        }