private static void WriteRow(TextWriter writer,
                                     PeakTransitionGroupFeatures features,
                                     PeakGroupFeatures peakGroupFeatures,
                                     CultureInfo cultureInfo,
                                     double mProphetScore,
                                     double pValue,
                                     double qValue)
        {
            char   separator   = TextUtil.GetCsvSeparator(cultureInfo);
            string fileName    = SampleHelp.GetFileName(features.Id.FilePath);
            var    fieldsArray = new List <string>
            {
                Convert.ToString(features.Id, cultureInfo),
                Convert.ToString(features.Id.Run, cultureInfo),
                fileName,
                Convert.ToString(peakGroupFeatures.RetentionTime, cultureInfo),
                Convert.ToString(peakGroupFeatures.StartTime, cultureInfo),
                Convert.ToString(peakGroupFeatures.EndTime, cultureInfo),
                features.Id.NodePep.RawUnmodifiedTextId, // Unmodified sequence, or custom ion name
                features.Id.NodePep.RawTextId,           // Modified sequence, or custom ion name
                features.Id.NodePepGroup.Name,
                Convert.ToString(features.Id.NodePep.IsDecoy ? 1 : 0, cultureInfo),
                ToFieldString((float)mProphetScore, cultureInfo),
                ToFieldString((float)pValue, cultureInfo),
                ToFieldString((float)qValue, cultureInfo)
            };

            if (IsFilterTestData)
            {
                fieldsArray.Add(peakGroupFeatures.GetFilterPairsText(cultureInfo));
            }

            foreach (var name in fieldsArray)
            {
                writer.WriteDsvField(name, separator);
                writer.Write(separator);
            }
            bool first = true;

            foreach (float featureColumn in peakGroupFeatures.Features)
            {
                if (!first)
                {
                    writer.Write(separator);
                }
                writer.WriteDsvField(ToFieldString(featureColumn, cultureInfo), separator);
                first = false;
            }
            writer.WriteLine();
        }
Example #2
0
        private static void WriteRow(TextWriter writer,
                                     PeakTransitionGroupFeatures features,
                                     PeakGroupFeatures peakGroupFeatures,
                                     CultureInfo cultureInfo,
                                     double mProphetScore,
                                     double pValue,
                                     double qValue)
        {
            char   separator   = TextUtil.GetCsvSeparator(cultureInfo);
            string fileName    = SampleHelp.GetFileName(features.Id.FilePath);
            var    fieldsArray = new List <string>
            {
                Convert.ToString(features.Id, cultureInfo),
                Convert.ToString(features.Id.Run, cultureInfo),
                fileName,
                // CONSIDER: This impacts memory consumption for large-scale DIA, and it is not clear anyone uses these
                Convert.ToString(peakGroupFeatures.RetentionTime, cultureInfo),
                Convert.ToString(peakGroupFeatures.StartTime, cultureInfo),
                Convert.ToString(peakGroupFeatures.EndTime, cultureInfo),
                features.Id.RawUnmodifiedTextId, // Unmodified sequence, or custom ion name
                features.Id.RawTextId,           // Modified sequence, or custom ion name
                features.Id.NodePepGroup.Name,
                Convert.ToString(features.IsDecoy ? 1 : 0, cultureInfo),
                ToFieldString((float)mProphetScore, cultureInfo),
                ToFieldString((float)pValue, cultureInfo),
                ToFieldString((float)qValue, cultureInfo)
            };

            foreach (var name in fieldsArray)
            {
                writer.WriteDsvField(name, separator);
                writer.Write(separator);
            }
            bool first = true;

            foreach (float featureColumn in peakGroupFeatures.Features)
            {
                if (!first)
                {
                    writer.Write(separator);
                }
                writer.WriteDsvField(ToFieldString(featureColumn, cultureInfo), separator);
                first = false;
            }
            writer.WriteLine();
        }
        private static void WriteRow(TextWriter writer,
            PeakTransitionGroupFeatures features,
            PeakGroupFeatures peakGroupFeatures,
            CultureInfo cultureInfo,
            double mProphetScore,
            double pValue,
            double qValue)
        {
            char separator = TextUtil.GetCsvSeparator(cultureInfo);
            string fileName = SampleHelp.GetFileName(features.Id.FilePath);
            var fieldsArray = new List<string>
                {
                    Convert.ToString(features.Id, cultureInfo),
                    Convert.ToString(features.Id.Run, cultureInfo),
                    fileName,
                    Convert.ToString(peakGroupFeatures.RetentionTime, cultureInfo),
                    Convert.ToString(peakGroupFeatures.StartTime, cultureInfo),
                    Convert.ToString(peakGroupFeatures.EndTime, cultureInfo),
                    features.Id.NodePep.RawUnmodifiedTextId, // Unmodified sequence, or custom ion name
                    features.Id.NodePep.RawTextId, // Modified sequence, or custom ion name
                    features.Id.NodePepGroup.Name,
                    Convert.ToString(features.Id.NodePep.IsDecoy ? 1 : 0, cultureInfo),
                    ToFieldString((float) mProphetScore, cultureInfo),
                    ToFieldString((float) pValue, cultureInfo),
                    ToFieldString((float) qValue, cultureInfo)
                };
            if (IsFilterTestData)
            {
                fieldsArray.Add(peakGroupFeatures.GetFilterPairsText(cultureInfo));
            }

            foreach (var name in fieldsArray)
            {
                writer.WriteDsvField(name, separator);
                writer.Write(separator);
            }
            bool first = true;
            foreach (float featureColumn in peakGroupFeatures.Features)
            {
                if (!first)
                    writer.Write(separator);
                writer.WriteDsvField(ToFieldString(featureColumn, cultureInfo), separator);
                first = false;
            }
            writer.WriteLine();
        }
 private static double GetScore(LinearModelParams parameters, PeakGroupFeatures peakGroupFeatures)
 {
     return GetScore(parameters.Weights, peakGroupFeatures, parameters.Bias);
 }
 /// <summary>
 /// Calculate the score of a set of features given an array of weighting coefficients.
 /// </summary>
 private static double GetScore(IList<double> weights, PeakGroupFeatures peakGroupFeatures, double bias)
 {
     return LinearModelParams.Score(peakGroupFeatures.Features, weights, bias);
 }